mirror of
https://github.com/kataras/iris.git
synced 2025-03-15 05:26:26 +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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
|
|
||||||
"github.com/kataras/iris/v12"
|
"github.com/kataras/iris/v12"
|
||||||
"github.com/kataras/iris/v12/middleware/requestid"
|
"github.com/kataras/iris/v12/middleware/requestid"
|
||||||
|
|
||||||
|
@ -12,7 +10,10 @@ import (
|
||||||
func main() {
|
func main() {
|
||||||
app := iris.New()
|
app := iris.New()
|
||||||
app.Logger().SetLevel("debug")
|
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())
|
app.Use(requestid.New())
|
||||||
|
|
||||||
|
@ -54,13 +55,6 @@ func main() {
|
||||||
app.Listen(":8080" /*, iris.WithoutBanner*/)
|
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) {
|
func ping(ctx iris.Context) {
|
||||||
/* Example Output:
|
/* Example Output:
|
||||||
{
|
{
|
||||||
|
@ -85,3 +79,15 @@ func ping(ctx iris.Context) {
|
||||||
|
|
||||||
ctx.WriteString("pong")
|
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)
|
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"))
|
e := httptest.New(t, app, httptest.LogLevel("debug"))
|
||||||
wg := new(sync.WaitGroup)
|
wg := new(sync.WaitGroup)
|
||||||
wg.Add(iters)
|
wg.Add(iters)
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -20,7 +20,7 @@ require (
|
||||||
github.com/iris-contrib/schema v0.0.6
|
github.com/iris-contrib/schema v0.0.6
|
||||||
github.com/json-iterator/go v1.1.10
|
github.com/json-iterator/go v1.1.10
|
||||||
github.com/kataras/blocks v0.0.3
|
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/neffos v0.0.16
|
||||||
github.com/kataras/pio v0.0.10
|
github.com/kataras/pio v0.0.10
|
||||||
github.com/kataras/sitemap v0.0.5
|
github.com/kataras/sitemap v0.0.5
|
||||||
|
|
Loading…
Reference in New Issue
Block a user