3

当我尝试将 Spring Boot 应用程序部署到 Payara (Glassfish 4) 时,我会收到大量日志,这些日志最终会耗尽我所有的磁盘空间。

日志记录似乎处于这样的某种递归循环中(见下文)。

虽然我可以通过关闭 unknown.jul.logger 的日志记录来使部署工作,但我宁愿不让它首先尝试登录。还显示了 logback 配置。

关于这里可能发生什么的任何想法?

更多信息:

定义 unknown.jul.logger 的是 SLF4JBridgeHandler。

15:29:50.448000 信息 1296 --- [ing 输出泵] unknown.jul.logger:2017 年 1 月 24 日 15:29:50.421000 信息 1296 --- [ing 输出泵] unknown.jul.logger:2017-01 -24 15:29:50.399000 INFO 1296 --- [ing 输出泵] unknown.jul.logger:2017-01-24 15:29:50.378000 INFO 1296 --- [ing 输出泵] unknown.jul.logger:2017 -01-24 15:29:50.350000 信息 1296 --- [ing 输出泵] unknown.jul.logger:2017-01-24 15:29:50.328000 信息 1296 --- [ing 输出泵] unknown.jul.logger : 2017-01-24 15:29:50.307000 INFO 1296 --- [ing 输出泵] unknown.jul.logger : 2017-01-24

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
    <!-- Defined variables etc. -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <!-- overridden two properties -->
    <property name="CONSOLE_LOG_PATTERN" value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}000){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n%wex"/>
    <property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS}000 %5p ${PID:- } --- [%t] %logger : %m%n%wex"/>

    <!--  copied from base.xml -->
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <jmxConfigurator/>

    <appender name="FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%d</fileNamePattern>
        </rollingPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>
4

1 回答 1

2

确认这是由以下原因引起的:

这是由 Payara 劫持控制台输出并重定向到记录器引起的,Spring Boot 作为依赖项提供的记录桥随后将通过管道输出到您选择的任何统一记录器(例如 logback)。如果 logback 被配置为记录到控制台,它会进入一个永不结束的记录循环。

解决方案是确保 logback 不会登录到控制台。

于 2017-06-09T10:59:20.287 回答