日志配置

日志配置

log 概述

LogConf 用于我们 log 相关的配置,logx.MustSetup 提供了我们日志的基础配置能力,简单使用方式如下:

var c logx.LogConf
logx.MustSetup(c)
logx.Info(context.Background(), "log")
// do your job

我们 log 被 serviceConf 引用,他会在服务启动的时候自动初始化完成。

参数定义

LogConf 配置定义如下:

``` package logx

// A LogConf is a logging config. type LogConf struct { ServiceName string json:",optional" Mode string json:",default=console,options=[console,file,volume]" Encoding string json:",default=json,options=[json,plain]" TimeFormat string json:",optional" Path string json:",default=logs" Level string json:",default=info,options=[debug,info,error,severe]" MaxContentLength uint32 json:",optional" Compress bool json:",optional" Stat bool json:",default=true" // go-zero 版本 >= 1.5.0 才支持 KeepDays int json:",optional" StackCooldownMillis int json:",default=100" // MaxBackups represents how many backup log files will be kept. 0 means all files will be kept forever. // Only take effect when RotationRuleType is size. // Even thougth MaxBackups sets 0, log files will still be removed // if the KeepDays limitation is reached. MaxBackups int json:",default=0" // MaxSize represents how much space the writing log file takes up. 0 means no limit. The unit is MB. // Only take effect when RotationRuleType is size MaxSize int json:",default=0" // RotationRuleType represents the type of log rotation rule. Default is daily. // daily: daily rotation. // size: size limited rotation. Rotation string json:",default=daily,options=[daily,size]" // FileTimeFormat represents the time format for file name, default is 2006-01-02T15:04:05.000Z07:00. FileTimeFormat string json:",optional" } ``` 参数| 类型| 默认值| 说明| 枚举值
---|---|---|---|---
ServiceName| string| | 服务名称|
Mode| string| console| 日志打印模式,console 控制台| file, console
Encoding| string| json| 日志格式, json 格式 或者 plain 纯文本| json, plain
TimeFormat| string| | 日期格式化|
Path| string| logs| 日志在文件输出模式下,日志输出路径|
Level| string| info| 日志输出级别| debug,info,error,severe
MaxContentLength| uint32| 0| 日志长度限制,打印单个日志的时候会对日志进行裁剪,只有对 content 进行裁剪|
Compress| bool| false| 是否压缩日志|
Stat| bool| true| 是否开启 stat 日志,go-zero 版本大于等于1.5.0才支持|
KeepDays| int| 0| 日志保留天数,只有在文件模式才会生效|
StackCooldownMillis| int| 100| 堆栈打印冷却时间|
MaxBackups| int| 0| 文件输出模式,按照大小分割时,最多文件保留个数|
MaxSize| int| 0| 文件输出模式,按照大小分割时,单个文件大小|
Rotation| string| daily| 文件分割模式, daily 按日期| daily,size
FileTimeFormat| string| | 文件名日期格式|