Spring Boot - 独立 Tomcat / 外部 logback 文件被忽略
Posted
技术标签:
【中文标题】Spring Boot - 独立 Tomcat / 外部 logback 文件被忽略【英文标题】:Spring Boot - Standalone Tomcat / External logback file ignored 【发布时间】: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>%dHH: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-%dyyyy-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>%dyyyy-MM-dd HH:mm:ss.SSS - [%-30logger0] - [%-5p] -%XtraceInfo \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 初始化了附加程序。可能不是最好的解决方案。 你能发布一些代码吗?或者在这里回答自己... 【参考方案1】:在您的项目中source 确保 logback.xml 位于类路径文件夹中。
所以如果你的项目是一个名为 sampleweb 的 web 项目,你的 logback.xml 应该是
src/main/resources
您不必在外部配置 tomcat。
【讨论】:
以上是关于Spring Boot - 独立 Tomcat / 外部 logback 文件被忽略的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot - 独立 Tomcat / 外部 logback 文件被忽略
Spring Boot YML 和独立 Tomcat 8 服务器
在 Tomcat 中部署的 Spring Boot 提供 404 但可以独立运行
独立使用时 spring-boot-starter-jdbc 的问题