配置详解
dubbo-go日志配置主要是对go知名日志库——zap的配置,其中logger使用的是zap的SugaredLogger。
| 配置key | 解释 | 数据类型 | 示例 | |
|---|---|---|---|---|
| level | 日志级别(warn:线上;info:测试;debug:开发) | string | debug | |
| development | 是否开发模式,开发模式可以追逐更多的栈信息 | bool | true | |
| disableCaller | 是否关闭注释性logs,默认所有logs都是注释性的,主要用来记录调用函数的文件名和行号 | bool | true | |
| disableStacktrace | 是否关闭自动堆栈跟踪捕获 默认情况下,开发中的WarnLevel及以上的日志和生产中的ErrorLevel及以上的日志都会被捕获堆栈跟踪 |
bool | true | |
| sampling | 采样设置,记录全局的CPU、IO负载 参数值:SamplingConfig结构体。 |
struct | - | |
| encoding | 设置日志格式,支持编码json或者console | string | console | |
| outputPaths | 普通输出路径,由于zap底层 OutputPaths是 []string类型,可以填URLs or file paths | []string | - “stdout” 提示:标准输出,正常颜色,直接设置值,- 在yaml语法中表示list |
|
| errorOutputPaths | 错误日志输出路径 | []string | - “stderr” 提示:错误输出,红色 |
|
| initialFields | logger初始话时额外添加的参数,设置会配置到logger中 | string | - | |
| encoderConfig | messageKey | 输入信息的key名 | string | message |
| levelKey | 输出日志级别对应的key名 | string | level | |
| timeKey | 输出时间对应的key名 | string | time | |
| nameKey | logger名对应的key名 | string | logger | |
| callerKey | 调用函数所在的位置对应的key名 | string | caller | |
| stacktraceKey | 栈追踪的key名 | string | stacktrace | |
| lineEnding | 默认换行,即使不设置 | string | - | |
| levelEncoder | 日志级别字符串转换 | string | capitalColor(大写带颜色) | |
| timeEncoder | 时间格式 | string | iso8601 | |
| durationEncoder | 执行消耗的时间转化成浮点型的秒 | string | seconds | |
| callerEncoder | 记录调用路径。 格式为: package/file:line |
string | short | |
| nameEncoder | 可选值 | string | - |
配置示例
level: "debug"development: truedisableCaller: falsedisableStacktrace: falsesampling:encoding: "console"# encoderencoderConfig:messageKey: "message"levelKey: "level"timeKey: "time"nameKey: "logger"callerKey: "caller"stacktraceKey: "stacktrace"lineEnding: ""levelEncoder: "capitalColor"timeEncoder: "iso8601"durationEncoder: "seconds"callerEncoder: "short"nameEncoder: ""outputPaths:- "stderr"errorOutputPaths:- "stderr"initialFields:
