aboutsummaryrefslogtreecommitdiffstats
path: root/logger/log.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-01-04 21:20:16 +0800
committerobscuren <geffobscura@gmail.com>2015-01-04 21:20:16 +0800
commit09841b1c9b2553a4572590128580df37c8fa83ad (patch)
tree42a846801bde7d8f7edc5ec07ccbba7806261128 /logger/log.go
parentbd0c267cbe9db805b5a272d29ef8860c62ddafe5 (diff)
downloaddexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.gz
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.bz2
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.lz
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.xz
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.tar.zst
dexon-09841b1c9b2553a4572590128580df37c8fa83ad.zip
Cleaned up some of that util
Diffstat (limited to 'logger/log.go')
-rw-r--r--logger/log.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/logger/log.go b/logger/log.go
new file mode 100644
index 000000000..53065f870
--- /dev/null
+++ b/logger/log.go
@@ -0,0 +1,33 @@
+package logger
+
+import (
+ "fmt"
+ "io"
+ "log"
+ "os"
+
+ "github.com/ethereum/go-ethereum/ethutil"
+)
+
+func openLogFile(datadir string, filename string) *os.File {
+ path := ethutil.AbsolutePath(datadir, filename)
+ file, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
+ if err != nil {
+ panic(fmt.Sprintf("error opening log file '%s': %v", filename, err))
+ }
+ return file
+}
+
+func New(datadir string, logFile string, logLevel int) LogSystem {
+ var writer io.Writer
+ if logFile == "" {
+ writer = os.Stdout
+ } else {
+ writer = openLogFile(datadir, logFile)
+ }
+
+ sys := NewStdLogSystem(writer, log.LstdFlags, LogLevel(logLevel))
+ AddLogSystem(sys)
+
+ return sys
+}