Write log also to a file.

This commit is contained in:
Jae Kwon
2015-01-08 17:24:04 -08:00
parent 05c642a84c
commit 51c70dd8ac
11 changed files with 72 additions and 21 deletions

View File

@ -1,7 +1,7 @@
package alert package alert
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "alert") var log = logger.New("module", "alert")

View File

@ -1,19 +1,17 @@
package binary package binary
import ( import (
"os"
"github.com/tendermint/log15" "github.com/tendermint/log15"
"github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "binary") var log = logger.New("module", "binary")
func init() { func init() {
log.SetHandler( log.SetHandler(
log15.LvlFilterHandler( log15.LvlFilterHandler(
log15.LvlWarn, log15.LvlWarn,
//log15.LvlDebug, logger.RootHandler(),
log15.StreamHandler(os.Stderr, log15.LogfmtFormat()),
), ),
) )
} }

View File

@ -1,7 +1,7 @@
package block package block
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "block") var log = logger.New("module", "block")

View File

@ -1,7 +1,7 @@
package main package main
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "main") var log = logger.New("module", "main")

View File

@ -1,6 +1,8 @@
package config package config
import ( import (
// We can't use github.com/tendermint/tendermint/logger
// because that would create a dependency cycle.
"github.com/tendermint/log15" "github.com/tendermint/log15"
) )

View File

@ -1,7 +1,7 @@
package consensus package consensus
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "consensus") var log = logger.New("module", "consensus")

51
logger/log.go Normal file
View File

@ -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...)
}

View File

@ -1,7 +1,7 @@
package mempool package mempool
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "mempool") var log = logger.New("module", "mempool")

View File

@ -1,7 +1,7 @@
package p2p package p2p
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "p2p") var log = logger.New("module", "p2p")

View File

@ -1,7 +1,7 @@
package upnp package upnp
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "upnp") var log = logger.New("module", "upnp")

View File

@ -1,7 +1,7 @@
package state package state
import ( import (
"github.com/tendermint/log15" "github.com/tendermint/tendermint/logger"
) )
var log = log15.New("module", "state") var log = logger.New("module", "state")