mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 12:24:02 +03:00
Merge pull request #214 from 9seconds/log-json
Add new BindJSON method to a logger
This commit is contained in:
@@ -156,7 +156,7 @@ func makeEventStream(conf *config.Config, logger mtglib.Logger) (mtglib.EventStr
|
|||||||
func runProxy(conf *config.Config, version string) error {
|
func runProxy(conf *config.Config, version string) error {
|
||||||
logger := makeLogger(conf)
|
logger := makeLogger(conf)
|
||||||
|
|
||||||
logger.BindStr("configuration", conf.String()).Debug("configuration")
|
logger.BindJSON("configuration", conf.String()).Debug("configuration")
|
||||||
|
|
||||||
ntw, err := makeNetwork(conf, version)
|
ntw, err := makeNetwork(conf, version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ type noopLogger struct{}
|
|||||||
func (n noopLogger) Named(_ string) mtglib.Logger { return n }
|
func (n noopLogger) Named(_ string) mtglib.Logger { return n }
|
||||||
func (n noopLogger) BindInt(_ string, _ int) mtglib.Logger { return n }
|
func (n noopLogger) BindInt(_ string, _ int) mtglib.Logger { return n }
|
||||||
func (n noopLogger) BindStr(_, _ string) mtglib.Logger { return n }
|
func (n noopLogger) BindStr(_, _ string) mtglib.Logger { return n }
|
||||||
|
func (n noopLogger) BindJSON(_, _ string) mtglib.Logger { return n }
|
||||||
func (n noopLogger) Printf(_ string, _ ...interface{}) {}
|
func (n noopLogger) Printf(_ string, _ ...interface{}) {}
|
||||||
func (n noopLogger) Info(_ string) {}
|
func (n noopLogger) Info(_ string) {}
|
||||||
func (n noopLogger) Warning(_ string) {}
|
func (n noopLogger) Warning(_ string) {}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ const (
|
|||||||
zeroLogContextVarTypeUnknown zeroLogContextVarType = iota
|
zeroLogContextVarTypeUnknown zeroLogContextVarType = iota
|
||||||
zeroLogContextVarTypeStr
|
zeroLogContextVarTypeStr
|
||||||
zeroLogContextVarTypeInt
|
zeroLogContextVarTypeInt
|
||||||
|
zeroLogContextVarTypeJSON
|
||||||
)
|
)
|
||||||
|
|
||||||
type zeroLogContext struct {
|
type zeroLogContext struct {
|
||||||
@@ -66,6 +67,17 @@ func (z *zeroLogContext) BindStr(name, value string) mtglib.Logger {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (z *zeroLogContext) BindJSON(name, value string) mtglib.Logger {
|
||||||
|
return &zeroLogContext{
|
||||||
|
name: z.name,
|
||||||
|
log: z.log,
|
||||||
|
ctxVarType: zeroLogContextVarTypeJSON,
|
||||||
|
ctxVarName: name,
|
||||||
|
ctxVarStr: value,
|
||||||
|
parent: z,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (z *zeroLogContext) Printf(format string, args ...interface{}) {
|
func (z *zeroLogContext) Printf(format string, args ...interface{}) {
|
||||||
z.Debug(fmt.Sprintf(format, args...))
|
z.Debug(fmt.Sprintf(format, args...))
|
||||||
}
|
}
|
||||||
@@ -110,6 +122,8 @@ func (z *zeroLogContext) attachCtx(evt *zerolog.Event) {
|
|||||||
evt.Str(z.ctxVarName, z.ctxVarStr)
|
evt.Str(z.ctxVarName, z.ctxVarStr)
|
||||||
case zeroLogContextVarTypeInt:
|
case zeroLogContextVarTypeInt:
|
||||||
evt.Int(z.ctxVarName, z.ctxVarInt)
|
evt.Int(z.ctxVarName, z.ctxVarInt)
|
||||||
|
case zeroLogContextVarTypeJSON:
|
||||||
|
evt.RawJSON(z.ctxVarName, []byte(z.ctxVarStr))
|
||||||
case zeroLogContextVarTypeUnknown:
|
case zeroLogContextVarTypeUnknown:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -245,6 +245,9 @@ type Logger interface {
|
|||||||
// BindStr binds new string parameter to a new logger instance.
|
// BindStr binds new string parameter to a new logger instance.
|
||||||
BindStr(name, value string) Logger
|
BindStr(name, value string) Logger
|
||||||
|
|
||||||
|
// BindJSON binds a new JSON-encoded string to a new logger instance.
|
||||||
|
BindJSON(name, value string) Logger
|
||||||
|
|
||||||
// Printf is to support log.Logger behavior.
|
// Printf is to support log.Logger behavior.
|
||||||
Printf(format string, args ...interface{})
|
Printf(format string, args ...interface{})
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ type NoopLogger struct{}
|
|||||||
func (n NoopLogger) Named(_ string) Logger { return n }
|
func (n NoopLogger) Named(_ string) Logger { return n }
|
||||||
func (n NoopLogger) BindInt(_ string, _ int) Logger { return n }
|
func (n NoopLogger) BindInt(_ string, _ int) Logger { return n }
|
||||||
func (n NoopLogger) BindStr(_, _ string) Logger { return n }
|
func (n NoopLogger) BindStr(_, _ string) Logger { return n }
|
||||||
|
func (n NoopLogger) BindJSON(_, _ string) Logger { return n }
|
||||||
func (n NoopLogger) Printf(_ string, _ ...interface{}) {}
|
func (n NoopLogger) Printf(_ string, _ ...interface{}) {}
|
||||||
func (n NoopLogger) Info(_ string) {}
|
func (n NoopLogger) Info(_ string) {}
|
||||||
func (n NoopLogger) Warning(_ string) {}
|
func (n NoopLogger) Warning(_ string) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user