log4j2 RollingFile错误重命名文件

时间:2016-06-02 14:24:58

标签: java log4j2 rollingfileappender

我有这个追加者

 <RollingFile name="Application" fileName="/home/user/log/abc.log" filePattern="/var/log/mylog/abc-%d{yyy-MM-dd}-%i.log.gz">
            <PatternLayout>
                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} abc        %-10level %class{36} %L %M - %msg%xEx%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="5 MB" />
            </Policies>
                <DefaultRolloverStrategy max="9999"/>
    </RollingFile>

当达到5 MB并且/ var / log / mylog上没有空格时我收到错误"ERROR renaming file from xx to yy如果我之后留空,则记录器不会再次尝试重命名该文件。我有什么想法可以解决这个问题吗?

我使用log4j2 2.2

3 个答案:

答案 0 :(得分:0)

这不是答案。我没有足够的声誉来发表评论。

建议:Log4j2允许您自动删除X天以前的文件。我前段时间一直在努力解决这个问题。这个问题已经解决了:

Log4j2 - Configure RolloverStrategy to delete old log files

也许这会对你有所帮助。

答案 1 :(得分:0)

如果配置FailoverAppender并将RollingFileAppender放入其中,则可以将FailoverAppender配置为以您配置的时间间隔重试。与此同时,日志事件可以路由到可以执行其他操作的辅助appender。请参阅http://logging.apache.org/log4j/2.x/manual/appenders.html#FailoverAppender

答案 2 :(得分:0)

尝试在此处删除“:”{yyyy-MM-dd HH:mm:ss.SSS} 类似下面的东西

<PatternLayout>
       <Pattern>%d{yyyy-MM-dd} abc        %-10level %class{36} %L %M - %msg%xEx%n</Pattern>
</PatternLayout>