问题描述
我正在尝试使用log4j2.xml文件中的monitorInterval
参数制作一个应用程序,当文件更改时,我正在尝试重新配置日志记录设置。
我当然在像这样的Configuration标签中使用参数表:
<Configuration packages="confidential"
monitorInterval="5">
如果我更改了appenders文件名,它的确会创建一个新文件以使用适当的名称进行追加。它会在设置的时间间隔后执行此操作。但是之后,log4j继续将日志消息写入旧文件,而新文件仅包含:
# Logging Started at 2020-10-20 17:03:28,405
我曾尝试更改记录器的记录级别(默认WARN,尝试了ALL,TRACE,INFO,ERROR)和模式布局中的信息顺序,但是log4j也忽略了这一点。
该应用程序使用自定义文件追加程序,自定义模式布局,并以编程方式加载conf文件。在我将以编程方式加载的文件名更改为默认的log4j2.xml之前,更改附加程序文件名不起作用。
这是一个示例附加程序:
<CustomrollingFileAppender name="applogs_appender" fileName="logs/app/app.log">
<SizeBasedTriggeringPolicy size="5MB"/>
<DefaultRolloverStrategy max="5" />
<HeaderedPatternLayout pattern="[%d{yyyy-MM-d HH:mm:ss,SSS}] [%p] [%c] [%t] %m%n" />
<!-- %d - date %p - level %c - category (logger name) %t - name of the
thread that generated the logging event %m - message %n - new line separator
CHAINSAW settings: fileUrl: file:///<path to log file> logFromat: [TIMESTAMP]
[LEVEL] [LOGGER] [THREAD] [CLASS]MESSAGE -->
</CustomrollingFileAppender>
还有一个示例记录器:
<Logger name="TOPO" additivity="false" level="WARN">
<AppenderRef ref="applogs_appender" />
</Logger>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)