【问题标题】:Prevent Log4j create more than 5 log files防止 Log4j 创建超过 5 个日志文件
【发布时间】:2018-04-22 15:30:25
【问题描述】:

正如标题所说,我想用 Log4j2 创建不超过 5 个日志文件。请记住,我想使用 .properties 文件。这是我目前所拥有的:

rootLogger.level=INFO
property.filename=/data/standalone/ldap_proxy_server/logs/ldap_server_proxy.log

appenders=rollingAppender

appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{dd/MM/yyyy HH:mm:ss} %5p %c{20} > %m%n

appender.rollingAppender.type=RollingFile
appender.rollingAppender.name=File
appender.rollingAppender.fileName=/data/standalone/ldap_proxy_server/logs/ldap_server_proxy.log
appender.rollingAppender.filePattern=/data/standalone/ldap_proxy_server/logs/ldap_server_proxy.log.%d{yyyy-MM-dd}
appender.rollingAppender.layout.type=PatternLayout
appender.rollingAppender.layout.pattern=%d{dd/MM/yyyy HH:mm:ss} %5p %c{20} > %m%n
appender.rollingAppender.policies.type=Policies
appender.rollingAppender.policies.time.type=TimeBasedTriggeringPolicy
appender.rollingAppender.policies.time.interval=1
appender.rollingAppender.policies.time.modulate=true
appender.rollingAppender.policies.size.type=SizeBasedTriggeringPolicy
appender.rollingAppender.policies.size.size=50MB
appender.rollingAppender.strategy.type=DefaultRolloverStrategy
appender.rollingAppender.strategy.max=5

rootLogger.appenderRefs=rollingAppender,console

rootLogger.appenderRef.console.ref=STDOUT
rootLogger.appenderRef.rollingAppender.ref=File

我认为这两行代码很神奇:

appender.rollingAppender.strategy.type=DefaultRolloverStrategy
appender.rollingAppender.strategy.max=5

但它不起作用。我做错了什么?

【问题讨论】:

    标签: java logging log4j2 properties-file


    【解决方案1】:

    如果没有,我认为您必须指定删除旧的日志文件。的文件在旋转后变得超过 5 个。

    尝试按照配置文件中的以下几行更改翻转策略 -

    appender.rollingAppender.strategy.type = DefaultRolloverStrategy
    appender.rollingAppender.strategy.delete.type = Delete
    appender.rollingAppender.strategy.delete.basePath = /data/standalone/ldap_proxy_server/logs/
    appender.rollingAppender.strategy.delete.maxDepth = 1
    appender.rollingAppender.strategy.delete.ifAccumulatedFileCount.type = IfAccumulatedFileCount 
    appender.rollingAppender.strategy.delete.ifAccumulatedFileCount.exceeds = 5
    

    您也可以指定删除超过 5 天的文件,但在这种情况下,可以存在 5 个或超过 5 个文件,因为您也使用 SizeBasedTriggeringPolicy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多