配置详解
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: true
disableCaller: false
disableStacktrace: false
sampling:
encoding: "console"
# encoder
encoderConfig:
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: