如何禁用默认的 FileAppender logback rollingpolicy
Posted
技术标签:
【中文标题】如何禁用默认的 FileAppender logback rollingpolicy【英文标题】:how to disable default FileAppender logback rollingpolicy 【发布时间】:2014-10-09 14:25:59 【问题描述】:请找到我的应用程序 logback FileAppender 配置。
<appender name="ALERT-FILE" class="ch.qos.logback.core.FileAppender">
<file>application-alert.log</file>
<append>true</append>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>%dateMM/dd/yyyy HH:mm:ss %msg%n</pattern>
</encoder>
</appender>
<logger name="ALERT" level="ERROR" additivity="false">
<appender-ref ref="ALERT-FILE" />
</logger>
我没有为 ALERT-FILE appender 配置任何滚动策略,但滚动仍在发生。我需要一个文件来记录一年中的所有错误等。 请帮忙。
谢谢 萨蒂亚吉特
【问题讨论】:
您的配置似乎正确,不能滚动;你确定你用更新的 logback 配置重新打包你的程序吗? 是的,我已经重建和测试了很多次。在同一个 logback.xml 文件中,我有另一个文件 appender,它具有常规日志记录以及 rollingPolicy。 【参考方案1】:这可能是一个环境问题 - 您启动应用程序的环境(如 Linux)可能有一些日志处理例程,这些例程为位于 logs
目录中的文件提供自动滚动。
【讨论】:
【参考方案2】:尝试将 rollingPolicy
部分添加到 appender 配置中
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>/var/log/tomcat/app.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/var/log/tomcat/app.%dyyyy-MM-dd.log</FileNamePattern>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%dyyyy-MM-dd HH:mm:ss,SSS %-5level %logger35 - %msg%n</Pattern>
</layout>
</appender>
【讨论】:
以上是关于如何禁用默认的 FileAppender logback rollingpolicy的主要内容,如果未能解决你的问题,请参考以下文章
一文详细了解logback之日志打印FileAppender