我正在使用log4j登录我的应用程序。 我正在尝试在不同文件中使用不同级别的日志,但是出了点问题。 对于解决此问题的任何帮助,我们将不胜感激。

    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
</appender> 

<appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="TCS_patch_9/log/retailer_debug.log" />
  <param name="Threshold" value="DEBUG" />
  <param name="MaxFileSize" value="2MB"/>
  <param name="MaxBackupIndex" value="3"/>
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ISO8601} %-5p %c - %m%n"/>
  </layout>
</appender>

<appender name="INFO" class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="TCS_patch_9/log/retailer_info.log" />
  <param name="Threshold" value="INFO" />
  <param name="MaxFileSize" value="2MB"/>
  <param name="MaxBackupIndex" value="3"/>
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ISO8601} %-5p %c - %m%n"/>
  </layout>
</appender>
<appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="TCS_patch_9/log/retailer_error.log" />
  <param name="Threshold" value="ERROR" />
  <param name="MaxFileSize" value="2MB"/>
  <param name="MaxBackupIndex" value="3"/>
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ISO8601} %-5p %c - %m%n"/>
  </layout>
</appender>
<appender name="FATAL" class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="TCS_patch_9/log/retailer_repeat_delay.log" />
  <param name="Threshold" value="FATAL" />
  <param name="MaxFileSize" value="2MB"/>
  <param name="MaxBackupIndex" value="3"/>
  <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{ISO8601} %-5p %c - %m%n"/>
  </layout>
</appender>

  <root> 
    <priority value ="error" /> 
    <appender-ref ref="console"/> 
    <appender-ref ref="DEBUG"/> 
    <appender-ref ref="INFO"/> 
    <appender-ref ref="ERROR"/>
    <appender-ref ref="FATAL"/> 
  </root>

</log4j:configuration>

#1楼 票数:5 已采纳

log4j附加程序的标准行为是它们以其阈值级别或更高的阈值记录所有消息,即具有阈值INFO的附加器将记录INFO,WARN,ERROR和FATAL消息,但不记录DEBUG。 如果你想记录INFO信息,但不会发出警告及以上,然后你需要使用一个LevelMatchFilter

您还需要将根记录器优先级设置为DEBUG,否则它将仅向其附加程序发送ERROR和FATAL消息,并且DEBUG和INFO文件为空。

  ask by seeker translate from so

未解决问题?本站智能推荐:

5回复

如何配置log4j以将不同的日志级别记录到同一记录器的不同文件中

我有一个正常的 INFO 级别的应用程序日志。 我需要的是另外记录所有错误级别的事件以分隔错误日志。 我正在使用这样的配置: 此配置仅记录错误。 如果我首先放置信息级别记录器,那么它只会记录到一般的附加程序,但错误记录器将不起作用。 我想让他们都工作。
2回复

如何使用log4j将错误和信息消息分别记录到syslog中?

log4j.properties: 记录器类 我想将信息(这些是审计消息,我不想在此处记录错误消息)记录到SYSLOG LOCAL6中,并将错误消息(这些是java程序的内部错误消息)记录到SYSLOG LOCAL7中。 我应该如何扩展此类和配置文件来执行此操作? 我使用log4
1回复

根据log4j中的日志记录级别创建不同的日志

我试图根据不同的级别创建“不同的”appender但到目前为止我找不到隔离日志记录级别的方法.... 我需要一种能够仅添加INFO优先级日志的方法。 由于INFO级别的日志记录也会使用DEBUG标记的记录器...这对我没有帮助。 另一件事是'同一'包我无法定义不同的日志记录append
1回复

使用Log4J进行类别记录

我尝试登录类别,但不知道如何配置log4j.properties。 我到底要什么: 类别{安全,数据库,邮件}的每日日志文件 日志文件具有其类别的名称 使用称为记录器的类记录日志条目(例如下面) 这是我所拥有的: 日志应如下所示: 提前非常感谢您的帮助! 亲
1回复

根据log4j上的级别进行日志记录

我正在尝试将我的应用程序中发生的所有内容记录到两个日志中:一个日志将包含所有内容,另一个日志将只有INFO和向上(因此,一个文件将包含所有内容,而另一个文件将只包含INFO级别的日志,警告,错误等)。 第一个文件适用于开发人员,第二个文件适用于测试人员。 任何人都可以指出我在正确的方向吗?
3回复

在Java中基于log4j的级别进行日志记录

下面是log4j属性和Java代码。 所有日志仅在调试中记录。 我什至尝试添加阈值,但还没有运气。 我需要根据日志级别将日志语句记录在单独的文件中。 所有日志仅记录在调试日志文件中,如果我删除调试日志,则它将记录在信息日志文件中。 提供阈值选项也不起作用。 这是记录日志语句的J
2回复

无法在Log4j中设置日志记录级别和输出

我无法通过Log4j中的属性文件设置Root Logger Option。 以下是我的属性文件的外观- 我已将此文件另存为src文件夹根目录中的log4j2.properties。 我尝试将rootLogger设置为ALL,但是它不起作用。 然而; 如果我通过程序中的方法将“级别”
2回复

Log4j记录到文件

我试图用Spring将简单的Log4j日志打印到外部文件实现。 项目结构 - 这是我的代码 - 1. pom.xml - 2.控制器 - 3. DTO - 4.申请主要类 - 5. log4j.properties文件 - 我无法将日志打印到指定