mirror of
https://github.com/kataras/iris.git
synced 2025-03-13 21:36:28 +01:00
examples: use the new golog.JSON, comment the manual way for general purpose knowedge that can be used to create a handler for any other custom format
This commit is contained in:
parent
ebeb465836
commit
26f515775b
|
@ -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)
|
||||
*/
|
||||
|
|
|
@ -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)
|
||||
|
|
2
go.mod
2
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user