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

如何使用Log4J2对不同的类使用不同的日志记录级别?

戚奇略
2023-03-14

在log4j2文档log4j2 java配置中,默认配置为:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>
<logger name="com.foo.Bar" level="TRACE"/>
<Root level="ERROR">
  <AppenderRef ref="STDOUT">
</Root>
<logger name="com.foo.Bar" level="TRACE"/>

根本就不在那里。它仍将只打印出错误日志。

问题

  • 是否有其他人遇到此问题?
  • 有人能复制它吗?
  • 有人知道怎么修吗?我几乎要给别人一块钱。不过,我肯定会把他们的答案标成绿色。
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.0-beta9</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.0-beta9</version>
      </dependency>
    <dependency>

我的最终目标是让特定的记录器发送SMTP请求。我很确定我知道怎么做,我只是在和这个小问题作斗争

共有1个答案

斜烈
2023-03-14

我没有得到使用相同字符串的记录器。一旦我这么做了,它就奏效了:

一旦我使名称相同,我的程序就会按照指定的文档工作。

 类似资料:
  • 我的简单问题是:如果我有两个类似logger的语句。info()和记录器。error()在Java中(使用log4j),我希望将这两行的结果打印在两个单独的文件中。也就是说,记录器。信息(…)应该打印到一个文件,比如myLog。信息和记录器。错误(…)应该打印到myLog。错误文件。我正在使用滚动文件追加器执行此任务。另外,我只需要一个记录器对象来完成任务。有人可能会建议两个或多个不同的记录器,每

  • 我使用的是,试图将不同的日志消息发送到同一个记录器中的不同appender。这种情况在log4j2常见问题解答中有详细描述,但我需要使用log4j2。属性配置文件,而不是示例中给出的XML配置。 这里给出了另一个XML配置文件的例子——本质上,我不知道如何指定行 在语法。

  • 问题内容: 我正在使用log4j登录我的应用程序。我正在尝试在不同文件中使用不同级别的日志,但是出了点问题。对于解决此问题的任何帮助,我们将不胜感激。 问题答案: log4j附加程序的标准行为是,它们以其阈值级别 或更高 的阈值记录所有消息,即具有阈值INFO的附加器将记录INFO,WARN,ERROR和FATAL消息,但不记录DEBUG。如果你想记录 只有 INFO信息,但不会发出警告及以上,然

  • 我可以创建一个命名的子记录器,以便该记录器输出的所有日志都用它的名称标记。我可以只在函数/类/任何东西中使用记录器。 但是,如果该代码调用了另一个模块中的函数,该模块仅使用日志模块函数(根记录器的代理)进行日志记录,我如何确保这些日志消息通过相同的记录器(或者至少以相同的方式记录)? 例如: main.py 其他.py 产出: 我希望能够使两个日志行都标记为名称'stuff',我希望能够做到这一点

  • 问题内容: 我在这里浏览了python日志记录类的教程,没有发现任何东西可以让我为同一输出制作多个不同级别的日志。最后,我想拥有三个日志:( 调试级别) (信息级别) (错误级别) 有没有一种方法可以在一个脚本中为同一输入生成多个日志文件? <------------- UPDATE#1 --------------------------> 因此,在实现@robert的建议时,我现在有一个小问题

  • 以下是我的java logback配置: 我想在这里做的是:我有两个日志追加器:一个用于控制台,另一个用于日志文件;但是对于相同的java软件包(例如:组织.apache.zookeeper),我想使用两个不同的日志级别,INFO用于文件追加器和错误用于康多尔;但是我的日志配置优势无法正常工作。任何人都可以找出我的错误或一些解决方案吗?