当前位置: 首页 > 知识库问答 >
问题:

Logback忽略父包的记录器

邵亦
2023-03-14

附加器

<appender name="fileAppender1" class="ch.qos.logback.core.FileAppender">
    <file>myLogFile1.log</file>
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>
<appender name="fileAppender2" class="ch.qos.logback.core.FileAppender">
    <file>myLogFile2.log</file>
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>

和3个记录器:

记录器1

<logger name="my" level="INFO" additivity="false" >
    <appender-ref ref="fileAppender1" />
</logger>
<logger name="my.test" level="DEBUG" additivity="false" >
    <appender-ref ref="console" />
</logger>
<root level="TRACE">
    <appender-ref ref="fileAppender2" />
</root>
    null

共有1个答案

宋志学
2023-03-14

使用级别筛选器

<filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>INFO</level>
      <onMatch>ACCEPT</onMatch>
      <onMismatch>DENY</onMismatch>
</filter>

因此logback.xml将变成

<appender name="fileAppender1" class="ch.qos.logback.core.FileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
          <level>INFO</level>
          <onMatch>ACCEPT</onMatch>
          <onMismatch>DENY</onMismatch>
    </filter>
    <file>myLogFile1.log</file>
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>
<appender name="fileAppender2" class="ch.qos.logback.core.FileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
          <level>TRACE</level>
          <onMatch>ACCEPT</onMatch>
          <onMismatch>DENY</onMismatch>
    </filter>
    <file>myLogFile2.log</file>
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
          <level>DEBUG</level>
          <onMatch>ACCEPT</onMatch>
          <onMismatch>DENY</onMismatch>
    </filter>
    <encoder>
        <pattern>%d [%thread] %-5level %logger - %msg%n</pattern>
    </encoder>
</appender>

<logger name="my" level="INFO" additivity="false" >
    <appender-ref ref="fileAppender1" />
</logger>

<logger name="my.test" level="DEBUG" additivity="false" >
    <appender-ref ref="console" />
</logger>

<root level="TRACE">
    <appender-ref ref="fileAppender2" />
</root>

更新

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    <level>WARN</level>
</filter>
 类似资料:
  • 问题内容: 以下代码是从文档中复制的。我应该能够查看所有信息日志。但是我没有。即使将setLevel设置为INFO,我也只能看到警告和以上内容。 为什么会这样呢?: 输出: 信息和调试消息到哪里去了? 问题答案: 更换线 与 它应该可以按预期工作。如果您不使用任何处理程序来配置日志记录(如您的帖子中所示,您只为记录器配置一个级别,但在任何地方都没有处理程序),则将获得一个“不得已使用”的内部处理程

  • 我有一个SBT/Scala项目,该项目包含其依赖项“ch.qos.logback”%“logback-classic”%“1.0.13”,并包含一个logback.xml文件,其内容如下: 当我运行该程序时,得到的输出如下: ... 我启用了logback配置调试,这样您就可以看到logback声称将该类的loglevel设置为ERROR。但仍然记录了这些消息。

  • 我有2个Spring Boot(1.4.1-发行版)控制台应用程序使用了Logback。这两个配置文件或多或少是相同的,都位于my/src/main/resources文件夹中,名为logback-spring.xml。 这两个项目都在其pom.xml中包含了maven依赖项spring-boot-starter-logging,并获取1.1.7版本的日志。 两个POM中定义的Spring Boo

  • 我目前有log4j配置了一个XML配置文件,它有两个附录,“文件”和“电子邮件”。这两个都正常工作,但是我不想发送电子邮件给ESAPI内部产生的错误,所以我在XML文件中放入了一个新的记录器。记录器的完整列表是: 然而,这不起作用。我仍然会收到ESAPI中生成的错误的电子邮件(特别是org.owasp.esapi.reference.Log4JLogger类)。 我还尝试过使用“org.owasp

  • 问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:

  • 我们的web应用程序在tomcat 9容器中运行,并使用Log4j 2.13。3作为测井系统。 web应用程序包括org.apache.xmlgraphics:fop 2.3,它使用apache共享日志记录(我们设置中的版本为1.2,而不是fop中最初使用的1.0.4)。 这个组合已经使用log4-jcl、共享日志记录桥运行了多年,所有共享日志记录输出都正确地进入了log4j配置的文件。配置相当简