aboutsummaryrefslogtreecommitdiffstats
path: root/logger
diff options
context:
space:
mode:
Diffstat (limited to 'logger')
-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
+}