在 logback.xml 中禁用 DEBUG 级别日志,保留 INFO 和 ERROR 级别日志

Aal*_*i M 2 spring log4j logback slf4j disable

我的 logback.xml 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <jmxConfigurator/>
  <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>

  <property name="LOG_DIR" value="/tmp/logs"/>
  <springProperty name="appName" source="spring.application.name"/>
  <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>
        some pattern
      </Pattern>
    </layout>
  </appender>

  <logger additivity="false" level="DEBUG"
    name="xyz">
    <appender-ref ref="STDOUT"/>
  </logger>
  <root level="ERROR">
    <appender-ref ref="STDOUT"/>
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我试图从整个应用程序禁用调试日志,但找不到方法。我想打印 INFO、ERROR 级别的日志。

Ale*_* R. 5

您可以保留唯一具有INFO级别的根记录器。这意味着它只会记录INFOWARNERROR。然而,您似乎不想记录WARN 。

或者您可以使用像LevelFilter这样的过滤器。以下是您可以通过提供的链接找到的文档中的示例。

<configuration>
  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>INFO</level>
      <onMatch>ACCEPT</onMatch>
      <onMismatch>DENY</onMismatch>
    </filter>
    <encoder>
      <pattern>
        %-4relative [%thread] %-5level %logger{30} - %msg%n
      </pattern>
    </encoder>
  </appender>
  <root level="DEBUG">
    <appender-ref ref="CONSOLE" />
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)