doc.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*Package log 是kratos日志库.
  2. 一、主要功能:
  3. 1. 日志打印到elk
  4. 2. 日志打印到本地,内部使用log4go
  5. 3. 日志打印到标准输出
  6. 4. verbose日志实现,参考glog实现,可通过设置不同verbose级别,默认不开启
  7. 二、日志配置
  8. 1. 默认agent配置
  9. 目前日志已经实现默认配置,可以根据env自动切换远程日志。可以直接使用以下方式:
  10. log.Init(nil)
  11. 2. 启动参数 or 环境变量
  12. 启动参数 环境变量 说明
  13. log.stdout LOG_STDOUT 是否开启标准输出
  14. log.agent LOG_AGENT 远端日志地址:unixpacket:///var/run/lancer/collector_tcp.sock?timeout=100ms&chan=1024
  15. log.dir LOG_DIR 文件日志路径
  16. log.v LOG_V verbose日志级别
  17. log.module LOG_MODULE 可单独配置每个文件的verbose级别:file=1,file2=2
  18. log.filter LOG_FILTER 配置需要过滤的字段:field1,field2
  19. 3. 配置文件
  20. 但是如果有特殊需要可以走一下格式配置:
  21. [log]
  22. family = "xxx-service"
  23. dir = "/data/log/xxx-service/"
  24. stdout = true
  25. vLevel = 3
  26. filter = ["fileld1", "field2"]
  27. [log.module]
  28. "dao_user" = 2
  29. "servic*" = 1
  30. [log.agent]
  31. taskID = "00000x"
  32. proto = "unixpacket"
  33. addr = "/var/run/lancer/collector_tcp.sock"
  34. chanSize = 10240
  35. 三、配置说明
  36. 1.log
  37. family 项目名,默认读环境变量$APPID
  38. studout 标准输出,prod环境不建议开启
  39. filter 配置需要过滤掉的字段,以“***”替换
  40. dir 文件日志地址,prod环境不建议开启
  41. v 开启verbose级别日志,可指定全局级别
  42. 2. log.module
  43. 可单独配置每个文件的verbose级别
  44. 3. log.agent
  45. 远端日志配置项
  46. taskID lancer分配的taskID
  47. proto 网络协议,常见:tcp, udp, unixgram
  48. addr 网络地址,常见:ip:prot, sock
  49. chanSize 日志队列长度
  50. */
  51. package log