cloudwego / hertz

Go HTTP framework with high-performance and strong-extensibility for building micro-services.
https://www.cloudwego.io
Apache License 2.0
5.28k stars 515 forks source link

Logger接口支持自定义kv #1191

Closed OxFFFFFFFF closed 1 month ago

OxFFFFFFFF commented 1 month ago

目前logger接口不能自定义kv,这个在日志查询中会非常不方便,并且像es也需要带@timestamp的字段,而logger默认时间戳是ts字段,没法自定义名称或者新增个@timestamp字段,希望可以参考kratos框架的Logger实现自定义kv字段: https://go-kratos.dev/docs/component/log/ image image image 最终Logger可以优化成类似这种形式: type Logger interface { Trace(msg string, keyvals ...interface{}) Debug(msg string, keyvals ...interface{}) Info(msg string, keyvals ...interface{}) Notice(msg string, keyvals ...interface{}) Warn(msg string, keyvals ...interface{}) Error(msg string, keyvals ...interface{}) Fatal(msg string, keyvals ...interface{}) }