如何锁定日志文件。日志文件可以删除。日志文件未锁定Lo4cxx。 Log4J

时间:2019-12-17 11:22:04

标签: c++ logging log4j log4j2 log4cxx

我将Lo4cxx用于我的项目。日志写入文件正确,但是我有一个问题,删除文件。使用文件时,我可以删除日志文件。在重新启动应用程序之前,不会创建下一个文件。如何锁定日志文件,如果文件正在使用。在具有类似配置的Lo4net中工作良好,并且我无法删除文件,尽管它在log4cxx中使用但不起作用。

我使用RollingFileAppender并设置了参数bufferedIO = false,就像在RollingFileAppender部分中写here一样,但这仍然无济于事。可能是错误吗?请帮助。

我的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="Debuging" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="file" value="C\MyApp\Log\MyAppCoreFatal.log"/>
    <param name="bufferedIO" value="false"/>
    <param name="append" value="true"/>
    <param name="Threshold" value="DEBUG"/> 
    <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
      <param name="maxFileSize" value="1GB" />
    </triggeringPolicy>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} %-6p%m%n"/>
    </layout>
  </appender>

  <root>
    <level value="DEBUG"/>
    <appender-ref ref="Debuging" />
  </root>
</log4j:configuration>

0 个答案:

没有答案