весенняя загрузка: стек трассировки печатается в консоли, а не в файле журнала - PullRequest
0 голосов
/ 09 мая 2018

Ниже приведена конфигурация logback.xml в моем приложении для Springboot.

<property name="LOG_DIR" value="${LOG_DIR}" />
<property name="LOG_FILE" value="${LOG_FILE}" />

<appender name="ROLLING_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_DIR}/${LOG_FILE}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
        <fileNamePattern>${LOG_DIR}/${LOG_FILE}_old.%i.log</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>100</maxIndex>
    </rollingPolicy>

    <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
        <maxFileSize>10MB</maxFileSize>
    </triggeringPolicy>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

</appender>

<root level="info">
    <appender-ref ref="ROLLING_LOG" />
</root>

Приложение запускается с помощью следующей команды

java -DLOG_DIR=/logs -DLOG_FILE=my.log -jar target/my.jar

Я использую @ Sl4j во всех своих классах.Все журналы печатаются в файле журнала, за исключением трассировки стека исключений (e.printStackTrace). , вместо этого он печатается в консоли.

Не повторяющийся пост, пройденный почти через всеСообщения не могут найти правильный ответ

Ценю любую помощь

Спасибо

1 Ответ

0 голосов
/ 09 мая 2018

Как указано в Javadoc :

Печатает этот метод и его обратную трассировку в стандартный поток ошибок.

Поэтому, если вы не зарегистрируете исключение через SLF4J, трассировка стека не будет напечатана в вашем файле.

Если вы не управляете вызовом printStackTrace, вы можете перенаправить вывод команды java для добавления в файл.

java -DLOG_DIR=/logs -DLOG_FILE=my.log -jar target/my.jar >> console.log 2>&1

Приведенное выше добавит весь текст в файл console.log и перенаправит стандартный поток ошибок на стандартный поток вывода .

...