diff --git a/_examples/logging/json-logger/main.go b/_examples/logging/json-logger/main.go index 71470664..c3e8b33e 100644 --- a/_examples/logging/json-logger/main.go +++ b/_examples/logging/json-logger/main.go @@ -1,8 +1,6 @@ package main import ( - "encoding/json" - "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/requestid" @@ -12,7 +10,10 @@ import ( func main() { app := iris.New() app.Logger().SetLevel("debug") - app.Logger().Handle(jsonOutput) + app.Logger().Handle(golog.JSON(" ")) /* see below to manually create a handler */ + + // Also, see app.Logger().SetLevelOutput(level string, w io.Writer) + // to set a custom writer for a specific level. app.Use(requestid.New()) @@ -54,13 +55,6 @@ func main() { app.Listen(":8080" /*, iris.WithoutBanner*/) } -func jsonOutput(l *golog.Log) bool { - enc := json.NewEncoder(l.Logger.Printer) // you can change the output to a file as well. - enc.SetIndent("", " ") - err := enc.Encode(l) - return err == nil -} - func ping(ctx iris.Context) { /* Example Output: { @@ -85,3 +79,15 @@ func ping(ctx iris.Context) { ctx.WriteString("pong") } + +/* Manually. Use it for any custom format: +func jsonOutput(l *golog.Log) bool { + // you can change the output to a file as well. + enc := json.NewEncoder(l.Logger.GetLevelOutput(l.Level.String())) + enc.SetIndent("", " ") + err := enc.Encode(l) + return err == nil +} + +app.Logger().Handle(jsonOutput) +*/ diff --git a/_examples/logging/json-logger/main_test.go b/_examples/logging/json-logger/main_test.go index 70f02d85..f1120212 100644 --- a/_examples/logging/json-logger/main_test.go +++ b/_examples/logging/json-logger/main_test.go @@ -30,7 +30,7 @@ func TestJSONLogger(t *testing.T) { app.Get("/ping", ping) - const expectedLogStr = `{"level":"debug","message":"Request path: /ping","fields":{"request_id":null},"stacktrace":[{"function":"json-logger/ping","source":"C:/mygopath/src/github.com/kataras/iris/_examples/logging/json-logger/main.go:82"}]}` + const expectedLogStr = `{"level":"debug","message":"Request path: /ping","fields":{"request_id":null},"stacktrace":[{"function":"json-logger/ping","source":"C:/mygopath/src/github.com/kataras/iris/_examples/logging/json-logger/main.go:85"}]}` e := httptest.New(t, app, httptest.LogLevel("debug")) wg := new(sync.WaitGroup) wg.Add(iters) diff --git a/go.mod b/go.mod index 747e3eea..b050cc27 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/iris-contrib/schema v0.0.6 github.com/json-iterator/go v1.1.10 github.com/kataras/blocks v0.0.3 - github.com/kataras/golog v0.1.3 + github.com/kataras/golog v0.1.4 github.com/kataras/neffos v0.0.16 github.com/kataras/pio v0.0.10 github.com/kataras/sitemap v0.0.5