<< 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.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)