日志配置

<< Click to Display Table of Contents >>

当前位置:  附录 > 系统属性配置 

日志配置

复制链接

log.to.console=false

设置控制台是否输出log信息,默认不输出。

file.log.days=7

设置日志文件存在系统中的时间,单位为天,默认为7天。

file.log.backup.days=30

设置日志备份文件存在系统中的时间,单位为天,默认为30天。

file.log.limit=50

设置每个日志文件的物理最大值,单位为M,默认为50M。

file.log.count.limit=100

设置日志文件存在系统中的个数,单位为个,默认100个。

file.log.backup.count.limit=1000

设置日志备份文件存在系统中的个数,单位为个,默认1000个。

log.content.length.limit=1000000

对单条日志过大的情形进行截断,并补充标志。默认1000000,修改需要重启生效,如果配置了无效值,默认为100。

log.username.encrypt=false

设置日志是否对用户名,ip,session id等敏感信息进行匿名化处理,true进行匿名化,false不进行,默认为false。

sql.add.comment.param

设置参数名称,多个参数用英文分号分割,可以设置内置参数或自定义的参数名称。设置后,会将设置的参数和对应的值放到执行SQL的注释里,方便运维人员排查,目前支持的数据源:Sybase,Gauss200,Oracle数据源。

举例:

sql.add.comment.param=_USER_;_IP_,例如配置了内置参数_USER_和_IP_,通过参数关键字搜索查看到如下日志信息。

log_param1_zoom81

log.save.path=绝对路径

指定下载日志文件的存放路径。

log.use.async=true

是否开启日志异步记录。默认为true,开启。开启之后,从以往的同步模式改为异步模式记录日志。将日志记录操作放在独立的线程中执行,可以减轻主线程压力。

log.async.buffersize

当log.use.async=true,可以配置log.async.waitstrategy用于控制RingBuffer的大小,即同一个时间最大可以存储的日志数量,默认为262144(256 * 1024)条。需要根据实际情况(并发日志量和场景对于日志延迟大小的接受程度)去配置。此配置会直接关系到日志延时大小,成正比关系,配置越大,延时越长(如果日志并发量一定的情况下)。配置越大,需要占用的内存资源就越大,并发量很高情况下也能够保证日志输出,但是日志延迟越大,所以需要根据服务器内存资源与日志输出效率要求做出权衡。

log.async.waitstrategy

当log.use.async=true,可以配置log.async.waitstrategy用于控制WaitStrategy等待策略。可配置项为SLEEP、YIELD、BLOCK、BUSYSPIN、TIMEOUT(默认)。等待策略对性能和资源利用率有重要影响。Log4j2提供了几种等待策略:

1)Blocking Wait Strategy:消费者线程会阻塞等待直到有新的事件。(配置为BLOCK)

2)Timeout Blocking Wait Strategy:消费者线程在等待一段时间后超时并继续执行。(配置项为TIMEOUT)

3)Sleeping Wait Strategy:消费者线程在等待时会周期性地休眠以减少CPU使用。(配置项为SLEEP)

4)Yielding Wait Strategy:消费者线程会频繁地让出CPU给其他线程。(配置项为YIELD)

5)Busy Spin Wait Strategy:消费者线程在等待时忙等待,不进行任何实际工作。(配置项为BUSYSPIN)