Как использовать slf4j с несколькими классами в Java Spring? - PullRequest
0 голосов
/ 03 октября 2019

Я хочу написать журнал для моего процесса из многофайловой java в 1 файловый журнал в java spring. Это мой файл logback.xml:

<configuration>
<property name="HOME_LOG" value="logs"/>
<appender name="001" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${HOME_LOG}/001/application.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd ss}.%i.log.gz</fileNamePattern>
        <!-- each archived file, size max 10MB -->
        <maxFileSize>10MB</maxFileSize>
        <!-- total size of all archive files, if total size > 20GB, it will delete old archived file -->
        <totalSizeCap>10GB</totalSizeCap>
        <!-- 60 days to keep -->
        <maxHistory>60</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%d %p %c{1.} [%t] %m%n</pattern>
    </encoder>
</appender>
<logger name="001" level="INFO">
    <appender-ref ref="001"/>
</logger>

Теперь я хочу записать журнал из 2-х файлов java: demo1.java и demo2.java. Это код java:

file demo1.java
private final static Logger log001 = LoggerFactory.getLogger("001");
log001.info("I am java 1");

file demo2.java
private final static Logger log001 = LoggerFactory.getLogger("001");
log001.info("I am java 2");

Я хочу, чтобы в моем лог-файле могли отображаться 2 текста: «Я Ява 1» и «Я ЯВА 2». Теперь он пишет переопределение.

1 Ответ

0 голосов
/ 07 октября 2019

Причина, по которой ваш файл журнала перезаписывается при каждом запуске, связана с тем, как вы настроили fileNamePattern в rollingPolicy, т. Е. Ваш файл application.log создается заново при каждом запуске, поскольку гранулярность шаблона файла находится всекунд {yyyy-MM-dd ss}

Быстрое исправление: изменить

<fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd ss}.%i.log.gz</fileNamePattern>

на

<fileNamePattern>${HOME_LOG}/001.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...