Я использую VScode, подключенный к Ubunut через WSL, для сборки проекта SpringBoot. Все работает нормально. Теперь я пытаюсь добавить ведение журнала в свой проект, и logback-spring.xml ниже — это то, что я использую в качестве конфигурации. Пока я вижу, что это работает. Я вижу печать консоли, и она даже создает logback.log
файл по нужному мне пути. НО, файл всегда кажется пустым. Я пытался добавить еще несколько регистраторов здесь и там, и все, что я вижу, это консольный вывод ConsoleAppender.
<!--Logfile save path-->
<property name="LOGS_PATH" value="./logs"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm} %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<appender name="SAMPLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="DAILY_ROLLING_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOGS_PATH}/logback.log</file>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOGS_PATH}/logback.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>5MB</maxFileSize>
<!-- kb, mb, gb -->
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<logger name="com.qcells.olap" level="DEBUG">
<appender-ref ref="SAMPLE" />
</logger>
<logger name="com.qcells.olap" level="INFO">
<appender-ref ref="DAILY_ROLLING_FILE_APPENDER" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
В java-коде я использую Logger следующим образом: (Rx_Client2 - это просто имя класса, включающего этот код)
private Logger logger = LoggerFactory.getLogger(Rx_Client2.class);
logger.info("success");
Я считаю, что это простой способ создания данных журнала, и я вижу распечатку сообщения об успехе на своей консоли.
Я попытался удалить файл logback.log, и он заново создает файл logback.log, когда я запускаю проект, но внутри все еще ничего не написано. Любые решения? Заранее спасибо!