You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
kratos/pkg/log/doc.go

69 lines
1.9 KiB

/*Package log 是kratos日志库.
一、主要功能:
1. 日志打印到elk
2. 日志打印到本地,内部使用log4go
3. 日志打印到标准输出
4. verbose日志实现,参考glog实现,可通过设置不同verbose级别,默认不开启
二、日志配置
1. 默认agent配置
目前日志已经实现默认配置,可以根据env自动切换远程日志。可以直接使用以下方式:
log.Init(nil)
2. 启动参数 or 环境变量
启动参数 环境变量 说明
log.stdout LOG_STDOUT 是否开启标准输出
log.agent LOG_AGENT 远端日志地址:unixpacket:///var/run/lancer/collector_tcp.sock?timeout=100ms&chan=1024
log.dir LOG_DIR 文件日志路径
log.v LOG_V verbose日志级别
log.module LOG_MODULE 可单独配置每个文件的verbose级别:file=1,file2=2
log.filter LOG_FILTER 配置需要过滤的字段:field1,field2
3. 配置文件
但是如果有特殊需要可以走一下格式配置:
[log]
family = "xxx-service"
dir = "/data/log/xxx-service/"
stdout = true
vLevel = 3
filter = ["fileld1", "field2"]
[log.module]
"dao_user" = 2
"servic*" = 1
[log.agent]
taskID = "00000x"
proto = "unixpacket"
addr = "/var/run/lancer/collector_tcp.sock"
chanSize = 10240
三、配置说明
1.log
family 项目名,默认读环境变量$APPID
studout 标准输出,prod环境不建议开启
filter 配置需要过滤掉的字段,以“***”替换
dir 文件日志地址,prod环境不建议开启
v 开启verbose级别日志,可指定全局级别
2. log.module
可单独配置每个文件的verbose级别
3. log.agent
远端日志配置项
taskID lancer分配的taskID
proto 网络协议,常见:tcp, udp, unixgram
addr 网络地址,常见:ip:prot, sock
chanSize 日志队列长度
四、最佳实践
1. KVString 使用 KVString 代替 KV 可以减少对象分配, 避免给 golang GC 造成压力.
*/
package log