Spring Logback:配置的记录器级别

问题描述 投票:0回答:1

我使用 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

我不明白。

我已将记录器“默认”配置为“警告”级别,并将根记录器配置为“错误”级别。

所以我希望有

  • 日志文件中仅包含错误和警告消息,并且
  • 仅标准输出中的错误消息。

那为什么这不是我得到的?

java spring-boot logback
1个回答
0
投票

我也不明白有什么问题,但是你可以尝试一下,将

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>
© www.soinside.com 2019 - 2024. All rights reserved.