From 78cff9e3a4c71d003c5ab3f5747ccae1dbc959fe Mon Sep 17 00:00:00 2001 From: zelig Date: Sat, 21 Mar 2015 09:20:47 +0000 Subject: independent flag for json structured logging - logjson flag remove logformat flag - passed to eth Config - logsystem not a field of Ethereum - LogSystem does not need to expose GetLogLevel/SetLogLevel - message struct just implements more generic LogMsg interface - LogMsg is a fmt.Stringer with Level() - jsonMsg ([]byte) implements LogMsg - remove "raw" systems - move level logic inside StdLogSystem - logsystems only print their kind of msg: jsonLogSystem prints jsonMsg, StdLogSystem prints stdMsg --- eth/backend.go | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'eth/backend.go') diff --git a/eth/backend.go b/eth/backend.go index 141c6c605..c253a064e 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -42,11 +42,11 @@ type Config struct { ProtocolVersion int NetworkId int - DataDir string - LogFile string - LogLevel int - LogFormat string - VmDebug bool + DataDir string + LogFile string + LogLevel int + LogJSON string + VmDebug bool MaxPeers int Port string @@ -136,7 +136,7 @@ type Ethereum struct { blockSub event.Subscription miner *miner.Miner - logger logger.LogSystem + // logger logger.LogSystem Mining bool DataDir string @@ -147,7 +147,10 @@ type Ethereum struct { func New(config *Config) (*Ethereum, error) { // Boostrap database - servlogsystem := logger.New(config.DataDir, config.LogFile, config.LogLevel, config.LogFormat) + logger.New(config.DataDir, config.LogFile, config.LogLevel) + if len(config.LogJSON) > 0 { + logger.NewJSONsystem(config.DataDir, config.LogJSON) + } newdb := config.NewDB if newdb == nil { @@ -174,12 +177,12 @@ func New(config *Config) (*Ethereum, error) { servlogger.Infof("Protocol Version: %v, Network Id: %v", config.ProtocolVersion, config.NetworkId) eth := &Ethereum{ - shutdownChan: make(chan bool), - blockDb: blockDb, - stateDb: stateDb, - extraDb: extraDb, - eventMux: &event.TypeMux{}, - logger: servlogsystem, + shutdownChan: make(chan bool), + blockDb: blockDb, + stateDb: stateDb, + extraDb: extraDb, + eventMux: &event.TypeMux{}, + // logger: servlogsystem, accountManager: config.AccountManager, DataDir: config.DataDir, version: config.Name, // TODO should separate from Name @@ -303,7 +306,7 @@ func (s *Ethereum) StartMining() error { func (s *Ethereum) StopMining() { s.miner.Stop() } func (s *Ethereum) IsMining() bool { return s.miner.Mining() } -func (s *Ethereum) Logger() logger.LogSystem { return s.logger } +// func (s *Ethereum) Logger() logger.LogSystem { return s.logger } func (s *Ethereum) Name() string { return s.net.Name } func (s *Ethereum) AccountManager() *accounts.Manager { return s.accountManager } func (s *Ethereum) ChainManager() *core.ChainManager { return s.chainManager } -- cgit v1.2.3