cloudwego / hertz

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

Logger接口支持自定义kv #1192

Open OxFFFFFFFF opened 2 months ago

OxFFFFFFFF commented 2 months ago

Is your feature request related to a problem? Please describe.

不是

Describe the solution you'd like

目前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{}) }

最好不需要更改存量业务代码

Describe alternatives you've considered

Additional context

Add any other context or screenshots about the feature request here.

smx-Morgan commented 2 months ago

Please assign this issue to me

Skyenought commented 2 months ago

https://github.com/hertz-contrib/logger/pull/33 @li-jin-gou