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

Log4j2 -不同级别的独立日志-如何只打印信息级别?

乔凯康
2023-03-14

如何只打印信息级别?

我当前的日志正在将所有信息、警告、错误和致命级别打印到控制台——我知道为什么会这样。(因为它们都在信息之上)

有没有一种方法可以指定只将信息级别发送到控制台appender,而不是它上面的所有内容?

目前有以下log4j2 xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="App" packages="">
    <Appenders>

    <File name="logFile" fileName="C:\Users\user\workspace\logs\log.out">
        <PatternLayout>
            <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
        </PatternLayout>
    </File>

    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>

</Appenders>
<Loggers>


    <Logger name="com.App" level="info" additivity="false">
        <AppenderRef ref="logFile" level="error"/>
        <AppenderRef ref="Console" level="info"/>

    </Logger>

    <Root level="error">
        <AppenderRef ref="logFile" />
    </Root>


</Loggers>

共有1个答案

宰父俊民
2023-03-14

需要使用阈值过滤器;

<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT" />

这会阻止 WARN 级别及其上方的所有内容。所以现在它只接受信息。

 类似资料:
  • 我的spring boot应用程序中有Log4j2,我希望将事件记录到2个日志文件中。用户服务无法创建信息级别的日志,但可以创建警告级别的日志。有人能指点一下吗? Log4j2.xml UserService.java

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

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

  • 如何编写一个简单的log4j2.xml文件,将不同级别的日志放入不同的文件中? 例如,我们有错误日志,任何信息日志,我需要将所有错误日志消息推入一个日志文件,所有信息日志消息推入另一个文件。 我怎么做?

  • 在log4j2文档log4j2 java配置中,默认配置为: 根本就不在那里。它仍将只打印出错误日志。 问题 是否有其他人遇到此问题? 有人能复制它吗? 有人知道怎么修吗?我几乎要给别人一块钱。不过,我肯定会把他们的答案标成绿色。 我的最终目标是让特定的记录器发送SMTP请求。我很确定我知道怎么做,我只是在和这个小问题作斗争

  • 下面,我有一个全局应用的日志回溯配置。 我想全局使日志记录级别错误,除了一个类。对于一个特定的类,我想使日志记录级别 INFO。我该怎么做?