【发布时间】:2020-08-03 08:15:51
【问题描述】:
我正在使用通过 WSL 连接到 Ubunut 的 VScode 来构建 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 文件,但里面仍然没有写入任何内容。 有什么解决办法吗? 提前致谢!
【问题讨论】:
标签: spring-boot spring-logback