我使用 Spring-Boot 及其集成 Logback-logging。
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder><pattern>%d{dd.MM.yyyy HH:mm:ss.SSS} - %-5level - %msg%n</pattern</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>log.log</file>
<append>true</append>
<encoder><pattern>%d{dd.MM.yyyy HH:mm:ss.SSS} - %-5level - %msg%n</pattern</encoder>
</appender>
<logger name="default" level="WARN">
<appender-ref ref="FILE" />
</logger>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
应用程序属性
spring.main.web-application-type = none
logging.config = logback-spring.xml
MyComp.java
@Component
public class MyComp
{
@PostConstruct
private void init ()
{
Logger logger = LoggerFactory.getLogger ("default");
logger.error ("this is an error");
logger.warn ("this is a warning");
logger.info ("this is an info");
logger.debug ("this is a debug");
}
}
输出在日志文件以及标准输出控制台中为我提供了此信息。
30.04.2024 00:16:01.303 - ERROR - this is an error
30.04.2024 00:16:01.304 - WARN - this is a warning
30.04.2024 00:16:01.304 - INFO - this is an info
30.04.2024 00:16:01.304 - DEBUG - this is a debug
我不明白。
我已将记录器“默认”配置为“警告”级别,并将根记录器配置为“错误”级别。
所以我希望有
那为什么这不是我得到的?
我也不明白有什么问题,但是你可以尝试一下,将
com.acme
更改为代码的包名称:
<!DOCTYPE configuration>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.acme" level="DEBUG" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>