主要是一些配置和接口,用来自定义echo框架的。
Debug模式
Echo#Debug
可用于启用/禁用调试模式。调试模式将日志级别设置为DEBUG.
日志
日志记录的默认格式是 JSON,可以通过修改 header 来更改。Echo#Logger.SetHeader(string)
可用于设置记录器的标题。默认值:
{"time":"${time_rfc3339_nano}","level":"${level}","prefix":"${prefix}","file":"${short_file}","line":"${line}"}
示例:
import "github.com/labstack/gommon/log"
/* ... */
if l, ok := e.Logger.(*log.Logger); ok {
l.SetHeader("${time_rfc3339} ${level}")
}
输出:
2018-05-08T20:30:06-07:00 INFO info
可用标签
- time_rfc3339
- time_rfc3339_nano
- level
- prefix
- long_file
- short_file
- line
日志输出位置Echo#Logger.SetOutput(io.Writer)
可用于设置记录器的输出目的地。默认值为os.Stdout
要完全禁用日志,请使用Echo#Logger.SetOutput(io.Discard)
或Echo#Logger.SetLevel(log.OFF)
日志级别
Echo#Logger.SetLevel(log.Lvl)
可用于设置记录器的日志级别。默认值为ERROR。可能的值:
- DEBUG
- INFO
- WARN
- ERROR
- OFF
自定义记录器
日志记录是使用echo.Logger接口实现的,该接口允许您使用注册自定义记录器Echo#Logger
。
Banner图
Echo#HideBanner
可用于隐藏启动banner
自定义监听器
Echo#*Listener
可用于运行自定义侦听器。
l, err := net.Listen("tcp", ":1323")
if err != nil {
e.Logger.Fatal(err)
}
e.Listener = l
e.Logger.Fatal(e.Start(""))
禁用 HTTP/2
Echo#DisableHTTP2
可用于禁用 HTTP/2 协议。
读超时
Echo#*Server#ReadTimeout
可用于设置请求读取超时之前的最大持续时间。
写超时
Echo#*Server#WriteTimeout
可用于设置响应写入超时之前的最大持续时间。
验证器
Echo#Validator
可用于注册验证器以对请求有效负载执行数据验证。
自定义绑定器
Echo#Binder
可用于为绑定请求有效负载注册自定义绑定器。
自定义 JSON 序列化程序
Echo#JSONSerializer
可用于注册自定义 JSON 序列化程序。
渲染器
Echo#Renderer
可用于为模板渲染注册渲染器。
HTTP 错误处理程序
Echo#HTTPErrorHandler
可用于注册自定义 http 错误处理程序。