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
This commit is contained in:
zelig
2015-03-21 09:20:47 +00:00
parent 7f85608f30
commit 78cff9e3a4
8 changed files with 96 additions and 96 deletions

View File

@ -28,7 +28,6 @@ const (
InfoLevel
DebugLevel
DebugDetailLevel
JsonLevel = 1000
)
// A Logger prints messages prefixed by a given tag. It provides named
@ -43,11 +42,11 @@ func NewLogger(tag string) *Logger {
}
func (logger *Logger) Sendln(level LogLevel, v ...interface{}) {
logMessageC <- message{level, logger.tag + fmt.Sprintln(v...)}
logMessageC <- stdMsg{level, logger.tag + fmt.Sprintln(v...)}
}
func (logger *Logger) Sendf(level LogLevel, format string, v ...interface{}) {
logMessageC <- message{level, logger.tag + fmt.Sprintf(format, v...)}
logMessageC <- stdMsg{level, logger.tag + fmt.Sprintf(format, v...)}
}
// Errorln writes a message with ErrorLevel.
@ -129,6 +128,6 @@ func (logger *JsonLogger) LogJson(v JsonLog) {
}
jsontxt, _ := json.Marshal(obj)
logMessageC <- message{JsonLevel, string(jsontxt)}
logMessageC <- (jsonMsg(jsontxt))
}