【问题标题】:Spring Boot - Standalone Tomcat / External logback file ignoredSpring Boot - 独立 Tomcat / 外部 logback 文件被忽略
【发布时间】:2016-07-29 15:16:11
【问题描述】:

我创建了一个版本为 1.2.8Spring 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.propertieslogback

因为这些文件已经在类路径中。 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


【解决方案1】:

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

所以如果你的项目是一个名为 sampleweb 的 web 项目,你的 logback.xml 应该是

src/main/resources

您不必在外部配置 tomcat。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 2017-04-15
    • 2015-06-26
    • 1970-01-01
    • 2015-10-14
    • 2016-03-21
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多