【问题标题】:log4j rolling appender issue for multiple log file creation用于创建多个日志文件的 log4j 滚动附加程序问题
【发布时间】:2017-03-07 02:57:21
【问题描述】:

我在我的应用程序中使用 log4j 来打印日志。到目前为止,我只有一个日志文件(比如 X.log),并且在固定大小(比如 4 MB)之后滚动。现在,我正在尝试将一些特定的请求和响应记录到另一个日志文件 Y.Log。

我的要求是在 4 MB 之后也滚动 Y.log 文件。我正在为 X 和 Y 日志使用 滚动文件附加程序。 Y.log 将在 X.log 可用的同一位置创建。

但现在似乎两个日志文件在 4 MB 后都没有翻转。它继续附加到相同的日志并且大小正在增加。下面是我的 log4j 配置。

<appender name="Xlogfile" class="org.apache.log4j.RollingFileAppender">
    <param name="append" value="true" />
    <param name="file" value="/logs/X.log" />
    <param name="MaxBackupIndex" value="200" />
    <param name="MaxFileSize" value="4MB" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n"/>
    </layout>
</appender>

<appender name="Ylogfile" class="org.apache.log4j.RollingFileAppender">
    <param name="append" value="true" />
    <param name="file" value="/logs/Y.log" />
    <param name="MaxBackupIndex" value="200" />
    <param name="MaxFileSize" value="4MB" />
    <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n"/>
    </layout>
</appender>

<root>
    <level value="INFO"  />
    <appender-ref ref=" Xlogfile " />
    <appender-ref ref=" Ylogfile " />
</root>

谁能给我一个解决方案。提前致谢。

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    尝试将策略添加到您的 appender,如下所示:

    <Policies>
        <SizeBasedTriggeringPolicy size="4mb"/>
    </Policies>
    

    【讨论】:

    • 好的,谢谢!!这个政策标签基本上是做什么的?
    • 它告诉appender如何表现,在这种情况下触发策略意味着“用于确定是否应该发生翻转的策略。”。欲了解更多信息,请查看logging.apache.org/log4j/2.x/manual/appenders.html
    • 我在 appender 中添加了 标签。但是,似乎它对我不起作用。日志文件仍然没有滚动。
    • 如果您更改调用附加程序的方式(只是一个想法),也许它会起作用。像这样: 策略和其他东西
    • 问题是关于 log4j-1 但这个答案是关于 log4j-2。
    猜你喜欢
    • 1970-01-01
    • 2016-09-28
    • 2012-05-28
    • 1970-01-01
    • 2015-03-20
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    相关资源
    最近更新 更多