我有这个追加者
<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
答案 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>