配置详解

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 -

配置示例

  1. level: "debug"
  2. development: true
  3. disableCaller: false
  4. disableStacktrace: false
  5. sampling:
  6. encoding: "console"
  7. # encoder
  8. encoderConfig:
  9. messageKey: "message"
  10. levelKey: "level"
  11. timeKey: "time"
  12. nameKey: "logger"
  13. callerKey: "caller"
  14. stacktraceKey: "stacktrace"
  15. lineEnding: ""
  16. levelEncoder: "capitalColor"
  17. timeEncoder: "iso8601"
  18. durationEncoder: "seconds"
  19. callerEncoder: "short"
  20. nameEncoder: ""
  21. outputPaths:
  22. - "stderr"
  23. errorOutputPaths:
  24. - "stderr"
  25. initialFields: