通过Eclipse配置Logback以进行Tomcat日志记录

时间:2016-01-13 16:20:59

标签: java eclipse tomcat logging logback

我配置了我的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而没有保存其他日志。你看到我的配置错误了吗? 感谢

2 个答案:

答案 0 :(得分:0)

确保在环境变量中添加了CATALINA_BASE。在配置文件中,您使用表达式CATALINA_BASE指定了相对于${catalina.base}的日志文件路径。如果它不在环境变量中,请尝试添加它。如果未设置,您可能希望/log/ATSLogs.log中的日志。

答案 1 :(得分:0)

试试这个项目:https://github.com/grgrzybek/tomcat-slf4j-logback

此项目提供必要的JAR文件和配置文件,以将您的Tomcat实例与SLF4J + Logback集成,从而替换默认Tomcat分发中嵌入的日志记录代码。有关说明和下载链接,请参阅该项目的README的“快速入门”部分。

我在生产和Eclipse环境中使用它取得了很大的成功。请注意Eclipse环境的项目自述文件底部的额外步骤。