【发布时间】:2016-07-29 15:16:11
【问题描述】:
我创建了一个版本为 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 中,我的 $CATALINA_BASE/lib 文件夹中有我的 application.properties 和 logback。
因为这些文件已经在类路径中。 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>
有什么想法吗?
【问题讨论】:
-
你解决了吗?
-
在某种程度上是的。但不是与外部文件。我使用了一些属性并使用 Java 初始化了附加程序。可能不是最好的解决方案。
-
你能发布一些代码吗?或者在这里回答自己...
标签: tomcat spring-boot logback