java - 将 SizeBasedTriggeringPolicy 与 log4j 一起使用会出现问题吗?

标签 java log4j

我正在使用带有 RollingFileAppender 的 log4j 以及带有 SizeBasedTriggeringPolicy 的 triggeringPolicy.log 文件被拆分但是一个文件拆分大小为 11kb 但其他文件在达到给定大小时可以增长而不拆分并且还给出警告消息“log4j:WARN Failure in post -关闭翻转操作。我无法解决问题。我的 lo4j.xml 文件包含以下配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
  <appender class="org.apache.log4j.rolling.RollingFileAppender" name="FixedWindowRollingFile">
    <param name="Append" value="true"/>
    <param name="ImmediateFlush" value="true"/>
    <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
      <param name="fileNamePattern" value="E:/BonitaMQ_workflow/RequestHandlerService/logs/log_%i.log"/>
      <param name="minIndex" value="1"/>
      <param name="maxIndex" value="1"/>
    </rollingPolicy>
    <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
      <param name="MaxFileSize" value="10240"/>
    </triggeringPolicy>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{MMM,dd yyyy h:mm:ss a } %p %c{1}:%L - %m%n"/>
    </layout>
  </appender>

  <logger name="com.bonitaservice" additivity="false">
    <level value="INFO"/>
    <appender-ref ref="FixedWindowRollingFile"/>
  </logger>

  <root>
    <priority value="Debug"/>
    <appender-ref ref="FixedWindowRollingFile"/>
  </root>
</log4j:configuration>

请帮我解决这个问题。

谢谢

最佳答案

此行为可能是由多个 JVM 实例记录到同一个日志文件引起的。一个解决方案是将 processid 附加到日志文件名称,但我还没有想出如何做到这一点。

关于java - 将 SizeBasedTriggeringPolicy 与 log4j 一起使用会出现问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4021198/

相关文章:

java - 如何将字符串插入 Netty CompositeByteBuf 的中间

java - 如何使用 Swagger 在 java 中使用 ApiModelProperty

java - HandlerInterceptor 有一个对象处理程序参数,什么类型将被传递到拦截器中?

java - Log4j 不打印到文件或标准输出

java - Log4j 不工作

java - 如何在 log4j 2.2 中使用 LoggingEvent 类

java - 如何在Java中将二维数组保存到文件中?

Java Generic获取类型参数

xml - log4j - 为什么 logger.debug 不工作?

java - 无法将 Log4J 中的事件获取到 Flume 中