[TOC]
- iris请求日志记录配置(控制台)目录结构代码示例
iris请求日志记录配置(控制台)
目录结构
主目录requestLogger
—— main.go
代码示例
main.go
package mainimport ( "github.com/kataras/iris" "github.com/kataras/iris/middleware/logger")func main() { app := iris.New() customLogger := logger.New(logger.Config{ //状态显示状态代码 Status: true, // IP显示请求的远程地址 IP: true, //方法显示http方法 Method: true, // Path显示请求路径 Path: true, // Query将url查询附加到Path。 Query: true, //Columns:true, // 如果不为空然后它的内容来自`ctx.Values(),Get("logger_message") //将添加到日志中。 MessageContextKeys: []string{"logger_message"}, //如果不为空然后它的内容来自`ctx.GetHeader(“User-Agent”) MessageHeaderKeys: []string{"User-Agent"}, }) app.Use(customLogger) h := func(ctx iris.Context) { ctx.Writef("Hello from %s", ctx.Path()) } app.Get("/", h) app.Get("/1", h) app.Get("/2", h) //因此,http错误有自己的处理程序 //注册中间人应该手动完成。 /* app.OnErrorCode(404 ,customLogger, func(ctx iris.Context) { ctx.Writef("My Custom 404 error page ") }) */ //或捕获所有http错误: app.OnAnyErrorCode(customLogger, func(ctx iris.Context) { //这应该被添加到日志中,因为`logger.Config#MessageContextKey` ctx.Values().Set("logger_message", "a dynamic message passed to the logs") ctx.Writef("My Custom error page") }) // http://localhost:8080 // http://localhost:8080/1 // http://localhost:8080/2 // http://lcoalhost:8080/notfoundhere //查看控制台上的输出 app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed))}
