Spring Boot - 忽略独立Tomcat /外部logback文件

时间:2016-04-08 11:14:48

标签: tomcat spring-boot logback

我创建了一个版本 1.2.8 Spring Boot 应用程序,我正在使用外部Tomcat容器进行部署。

在部署档案.jar中,我有logback.xml,默认值如下:

<configuration scan="true">

    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>utf-8</charset>
            <Pattern>%d{HH:mm:ss.SSS} [%-4p] %-4c \n\t%m%n</Pattern>
        </encoder>
    </appender>

    <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${user.dir}/logs/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 100MB -->
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>10</maxHistory>
        </rollingPolicy>

        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - [%-30logger{0}] - [%-5p] -%X{traceInfo} \n\t%m%n</pattern>
        </encoder>
    </appender>

    <root level="INFO" >
        <appender-ref ref="ROLLING"/>
    </root>

</configuration>

现在在我的外部Tomcat中,我的application.properties文件夹中有logback$CATALINA_BASE/lib

由于这些文件已经在类路径中。默认情况下,logging.config属性设置为classpath:logback.xml。所以位于那里的logback.xml应该是可见的但是会被忽略。

我也尝试了绝对路径

logging.config=C:\\myuser\\tomcat\\lib\\logback.xml

也被忽略了。

我正在尝试使用外部logback.xml覆盖日志记录级别,如下所示:

<configuration scan="true">

    <root level="DEBUG" >
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="ROLLING"/>
    </root>

</configuration>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在您的项目 source 中,确保logback.xml位于类路径文件夹中。

因此,如果您的项目是名为 sampleweb 的Web项目,那么您的logback.xml应该

src/main/resources

您不必在外部配置tomcat。