自定义
Debug
可使用Echo#Debug
来开启/关闭 debug 模式。Debug 模式下的日志级别是 DEBUG。
日志
日志默认使用 JSON 格式,可从通过修改标头进行格式修改。
日志标头
Echo#Logger.SetHeader(io.Writer)
用于日志标头的设置,默认值为:
{"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(ioutil.Discard)
或 Echo#Logger.SetLevel(log.OFF)
来完成。
日志级别
Echo#Logger.SetLevel(log.Lvl)
用于设置日志级别,默认是 ERROR
。可选值包括:
DEBUG
INFO
WARN
ERROR
OFF
自定义日志
Echo 的日志实现了 echo.Logger
接口,该接口允许使用 Echo#Logger
注册自定义日志。
自定义 Server
使用Echo#StartServer()
进行自定义 Server 的启动
示例
s := &http.Server{
Addr: ":1323",
ReadTimeout: 20 * time.Minute,
WriteTimeout: 20 * time.Minute,
}
e.Logger.Fatal(e.StartServer(s))
启动横幅
使用 Echo#HideBanner
隐藏启动横幅。
自定义监听器
使用 Echo#*Listener
启动一个自定义的 listener。
示例
l, err := net.Listen("tcp", ":1323")
if err != nil {
e.Logger.Fatal(l)
}
e.Listener = l
e.Logger.Fatal(e.Start(""))
禁用 HTTP/2
使用 Echo#DisableHTTP2
关闭 HTTP/2 协议。
读取超时
使用 Echo#*Server#ReadTimeout
设置读取请求的最大时间。
写入超时
使用 Echo#*Server#WriteTimeout
设置写入响应的最大时间。
验证
使用 Echo#Validator
注册一个验证器,从而对请求负载执行数据验证。
自定义绑定
使用 Echo#Binder
注册一个绑定器,从而绑定请求负载。
渲染
使用 Echo#Renderer
注册一个渲染引擎,从而进行模板渲染。
HTTP 错误处理
使用 Echo#HTTPErrorHandler
注册一个 http 错误处理器。