diff --git a/alert/log.go b/alert/log.go index e281e762..0f0740e0 100644 --- a/alert/log.go +++ b/alert/log.go @@ -1,7 +1,7 @@ package alert import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "alert") +var log = logger.New("module", "alert") diff --git a/binary/log.go b/binary/log.go index cc6c6372..7dc9b319 100644 --- a/binary/log.go +++ b/binary/log.go @@ -1,19 +1,17 @@ package binary import ( - "os" - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "binary") +var log = logger.New("module", "binary") func init() { log.SetHandler( log15.LvlFilterHandler( log15.LvlWarn, - //log15.LvlDebug, - log15.StreamHandler(os.Stderr, log15.LogfmtFormat()), + logger.RootHandler(), ), ) } diff --git a/block/log.go b/block/log.go index 2eead623..bdc31675 100644 --- a/block/log.go +++ b/block/log.go @@ -1,7 +1,7 @@ package block import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "block") +var log = logger.New("module", "block") diff --git a/cmd/log.go b/cmd/log.go index 15a99f2e..c0472378 100644 --- a/cmd/log.go +++ b/cmd/log.go @@ -1,7 +1,7 @@ package main import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "main") +var log = logger.New("module", "main") diff --git a/config/log.go b/config/log.go index 570c2b12..3cd8f430 100644 --- a/config/log.go +++ b/config/log.go @@ -1,6 +1,8 @@ package config import ( + // We can't use github.com/tendermint/tendermint/logger + // because that would create a dependency cycle. "github.com/tendermint/log15" ) diff --git a/consensus/log.go b/consensus/log.go index 82bb2eb4..0b3a33db 100644 --- a/consensus/log.go +++ b/consensus/log.go @@ -1,7 +1,7 @@ package consensus import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "consensus") +var log = logger.New("module", "consensus") diff --git a/logger/log.go b/logger/log.go new file mode 100644 index 00000000..cb63bd3c --- /dev/null +++ b/logger/log.go @@ -0,0 +1,51 @@ +package logger + +import ( + "fmt" + "os" + + "github.com/tendermint/log15" + "github.com/tendermint/tendermint/config" +) + +var rootHandler log15.Handler + +func init() { + handlers := []log15.Handler{} + + // By default, there's a stdout terminal format handler. + handlers = append(handlers, log15.LvlFilterHandler( + log15.LvlDebug, + log15.StreamHandler(os.Stdout, log15.TerminalFormat()), + )) + + // Maybe also write to a file. + if config.App.GetString("Log.Dir") != "" { + // Create log dir if it doesn't exist + err := os.MkdirAll(config.App.GetString("Log.Dir"), 0700) + if err != nil { + fmt.Printf("Could not create directory: %v", err) + os.Exit(1) + } + // File handler + handlers = append(handlers, log15.LvlFilterHandler( + log15.LvlDebug, + log15.Must.FileHandler(config.App.GetString("Log.Dir")+"/tendermint.log", log15.LogfmtFormat()), + )) + } + + // Set rootHandler. + rootHandler = log15.MultiHandler(handlers...) + + // By setting handlers on the root, we handle events from all loggers. + log15.Root().SetHandler(rootHandler) +} + +// See binary/log for an example of usage. +func RootHandler() log15.Handler { + return rootHandler +} + +func New(ctx ...interface{}) log15.Logger { + return log15.Root().New(ctx...) +} diff --git a/mempool/log.go b/mempool/log.go index 4f7fa06e..0bc62b10 100644 --- a/mempool/log.go +++ b/mempool/log.go @@ -1,7 +1,7 @@ package mempool import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "mempool") +var log = logger.New("module", "mempool") diff --git a/p2p/log.go b/p2p/log.go index db98e362..7802aa76 100644 --- a/p2p/log.go +++ b/p2p/log.go @@ -1,7 +1,7 @@ package p2p import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "p2p") +var log = logger.New("module", "p2p") diff --git a/p2p/upnp/log.go b/p2p/upnp/log.go index 30cf659a..49f53c86 100644 --- a/p2p/upnp/log.go +++ b/p2p/upnp/log.go @@ -1,7 +1,7 @@ package upnp import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "upnp") +var log = logger.New("module", "upnp") diff --git a/state/log.go b/state/log.go index ad01b0a6..7f1d3eba 100644 --- a/state/log.go +++ b/state/log.go @@ -1,7 +1,7 @@ package state import ( - "github.com/tendermint/log15" + "github.com/tendermint/tendermint/logger" ) -var log = log15.New("module", "state") +var log = logger.New("module", "state")