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

在spring Boot应用程序中未筛选hibernate和spring的Log4j2日志级别

林魁
2023-03-14

我已经根据本手册将Spring Boot配置为使用Log4j2。我想通过根记录器中设置的级别过滤所有日志。下面是我的log4j2-spring.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Properties>
        <Property name="LOG_PATTERN">%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} -s %msg%n</Property>
    </Properties>
    <Appenders>
        <Console name="Console">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <File name="File" fileName="app.log">
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </File>
        <SMTP name="Mail"
              ...
        >
            <ThresholdFilter level="ERROR" onMatch="ACCEPT"/>
            <PatternLayout pattern="${LOG_PATTERN}"/>
        </SMTP>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="File"/>
            <AppenderRef ref="Mail"/>
        </Root>
    </Loggers>
</Configuration>

问题是,我仍然看到来自hibernate和spring框架的DEBUG输出。我设法通过为某些条目指定完整的包名来筛选单个日志,如下所示:

<Loggers>
    <Logger name="org.springframework.boot.context.web" level="INFO" />
    <Root level="INFO">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
        <AppenderRef ref="Mail"/>
    </Root>
</Loggers>

共有1个答案

索梓
2023-03-14

终于修好了。问题是在application.properties文件中有一行debug=true,log4j2-spring.xml配置中的筛选器被忽略了。

 类似资料:
  • 需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性

  • 我在Scala上有一个项目。我使用这个库记录https://github.com/typesafehub/scala-logging 我创建记录器 和两个标记 为什么marker和marker2可见,为什么DENY不起作用? 如何排除两个标记? 如何只排除一个标记?

  • 我有log4j2.xml,它部分配置为: 但是,跟踪消息并不存在于两个文件附加符(fileinfo/filedebug)中。当我更改FileDebug log level=“TRACE”时,就会出现跟踪消息。

  • 我有一个SpringBoot项目(maven/java8)。 我想通过Maven配置文件(dev.properties|prod.properties)过滤src/main/Resources/application.properties中的一些自定义变量 Maven命令: 应用属性: 开发属性: prod.properties: pom.xml:

  • 我在spring应用程序中使用log4j2作为我的日志工具。我想为特定的库/包设置不同于根目录的日志级别。例如,我希望< code>org.springframework为INFO,而< code>com.google为WARN。我在< code>log4j2.properties中找到了这个: 我不明白是什么意思?我一直在log4j2文档中找到它,但没有解释那是什么或意味着什么。 如何为特定包添