我配置了logback.xml来创建一个ATSLog.log文件,并每天保存一个带有日期的日志文件。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>.%d{yyyy-MM-dd}.%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n
</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>TRACE</level>
</filter>
</appender>
<appender name="dailyRollingFileAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${CATALINA_HOME}/logs/ATSLog.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>${CATALINA_HOME}/logs/ATSLog_%d{yyyy-MM-dd}.%i.log
</FileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n
</Pattern>
</encoder>
</appender>
<logger name="org.hibernate.type" level="ERROR" />
<logger name="org.hibernate" level="ERROR" />
<root>
<level value="INFO" />
<appender-ref ref="dailyRollingFileAppender" />
<appender-ref ref="consoleAppender" />
</root>
</configuration>
但在我的/opt/apache-tomcat-8.0.26/logs中,我只找到一个旧的ATSLog.log,没有保存其他日志。你看到我的配置有错误吗?感谢
确保在环境变量中添加了CATALINA_BASE
。在配置文件中,您已经使用表达式${catalina.base}
指定了相对于CATALINA_BASE
的日志文件路径。如果它不在环境变量中,请尝试添加它。如果没有设置,您可能会在/log/ATSLogs.log
中看到日志。
试试这个项目:https://github.com/grgrzybek/tomcat-slf4j-logback
该项目提供了必要的JAR文件和配置文件,以将Tomcat实例与SLF4J+Logback集成,从而替换嵌入默认Tomcat发行版中的日志记录代码。有关说明和下载链接,请参阅该项目自述文件的"快速入门"部分。
我已经在生产环境和Eclipse环境中成功地使用了它。请注意Eclipse环境的项目自述文件底部的额外步骤。