log4j XML配置文件

 

<? xml version='1.0' encoding='UTF-8' ?>
<! DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
< log4j:configuration  xmlns:log4j ="http://jakarta.apache.org/log4j/" >

 
<!--  
  %c 输出日志信息所属的类的全名
  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
  %f 输出日志信息所属的类的类名
  %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
  %m 输出代码中指定的信息,如log(message)中的message
  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
  %r 输出自应用启动到输出该日志信息所耗费的毫秒数
  %t 输出产生该日志事件的线程名
 
-->
 
< appender  name ="STDOUT"  class ="org.apache.log4j.ConsoleAppender" >
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
 
</ appender >

 
< appender  class ="org.apache.log4j.DailyRollingFileAppender"
  name
="ROLLINGFILE" >
  
< param  name ="DatePattern"  value =".yyyy-MM-dd"   />
  
< param  name ="File"  value ="D:/jframelog/jframe.log"   />
  
< param  name ="Encoding"  value ="GBK"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
 
</ appender >

 
<!-- 设定级别为debug的配置信息 -->
 
< appender  name ="DEBUG"
  class
="org.apache.log4j.DailyRollingFileAppender" >
  
< param  name ="DatePattern"  value =".yyyy-MM-dd"   />
  
< param  name ="File"  value ="D:/jframelog/jframe_debug.log"   />
  
< param  name ="Append"  value ="true"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
  
< filter  class ="org.apache.log4j.varia.LevelRangeFilter" >
   
< param  name ="LevelMin"  value ="DEBUG"   />
   
< param  name ="LevelMax"  value ="DEBUG"   />
  
</ filter >
 
</ appender >

 
<!-- 设定级别为info的配置信息 -->
 
< appender  name ="INFO"
  class
="org.apache.log4j.DailyRollingFileAppender" >
  
< param  name ="DatePattern"  value =".yyyy-MM-dd"   />
  
< param  name ="File"  value ="D:/jframelog/jframe_info.log"   />
  
< param  name ="Append"  value ="true"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
  
< filter  class ="org.apache.log4j.varia.LevelRangeFilter" >
   
< param  name ="LevelMin"  value ="INFO"   />
   
< param  name ="LevelMax"  value ="INFO"   />
  
</ filter >
 
</ appender >

 
<!-- 设定级别为warn的配置信息 -->
 
< appender  name ="WARN"
  class
="org.apache.log4j.DailyRollingFileAppender" >
  
< param  name ="DatePattern"  value =".yyyy-MM-dd"   />
  
< param  name ="File"  value ="D:/jframelog/jframe_warn.log"   />
  
< param  name ="Append"  value ="true"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
  
< filter  class ="org.apache.log4j.varia.LevelRangeFilter" >
   
< param  name ="LevelMin"  value ="WARN"   />
   
< param  name ="LevelMax"  value ="WARN"   />
  
</ filter >
 
</ appender >

 
<!-- 设定级别为error的配置信息 -->
 
< appender  name ="ERROR"
  class
="org.apache.log4j.DailyRollingFileAppender" >
  
< param  name ="File"  value ="D:/jframelog/jframe_error.log"   />
  
< param  name ="Append"  value ="true"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
  
< filter  class ="org.apache.log4j.varia.LevelRangeFilter" >
   
< param  name ="LevelMin"  value ="ERROR"   />
   
< param  name ="LevelMax"  value ="ERROR"   />
  
</ filter >
 
</ appender >

 
<!-- 设定级别为fatal的配置信息 -->
 
< appender  name ="FATAL"
  class
="org.apache.log4j.DailyRollingFileAppender" >
  
< param  name ="File"  value ="D:/jframelog/jframe_fatal.log"   />
  
< param  name ="Append"  value ="true"   />
  
< layout  class ="org.apache.log4j.PatternLayout" >
   
< param  name ="ConversionPattern"
    value
="[%d{yyyy-MM-dd HH:mm:ss}] [%t] [%p] [%m] "   />
  
</ layout >
  
< filter  class ="org.apache.log4j.varia.LevelRangeFilter" >
   
< param  name ="LevelMin"  value ="FATAL"   />
   
< param  name ="LevelMax"  value ="FATAL"   />
  
</ filter >
 
</ appender >

 
<!-- 设定不同包中类的日志级别 -->

 
< logger  name ="com.jframe" >
  
< level  value ="DEBUG"   />
 
</ logger >
 
< logger  name ="org.apache" >
  
< level  value ="ERROR"   />
 
</ logger >
 
< logger  name ="org.springframework" >
  
< level  value ="ERROR"   />
 
</ logger >

 
<!-- 默认级别,需要输出哪种类型日志,就写哪种类型 -->
 
< root >
  
< level  value ="DEBUG"   />
  
< appender-ref  ref ="ROLLINGFILE"   />
  
< appender-ref  ref ="STDOUT"   />
  
< appender-ref  ref ="DEBUG"   />
  
< appender-ref  ref ="INFO"   />
  
< appender-ref  ref ="WARN"   />
  
< appender-ref  ref ="ERROR"   />
  
< appender-ref  ref ="FATAL"   />
 
</ root >
</ log4j:configuration >

 

log4j.dtd放入和XML同级目录中

 

### 回答1: 以下是一个简单的log4jXML配置文件例子: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/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="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/> </layout> </appender> <appender name="FILE" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="logs/mylog.log"/> <param name="Append" value="true"/> <param name="MaxFileSize" value="10MB"/> <param name="MaxBackupIndex" value="10"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/> </layout> </appender> <logger name="com.mycompany"> <level value="INFO"/> <appender-ref ref="FILE"/> </logger> <root> <level value="ERROR"/> <appender-ref ref="CONSOLE"/> </root> </log4j:configuration> ``` 在这个例子中,我们定义了两个appender:CONSOLE和FILE。CONSOLE是一个ConsoleAppender,将日志输出到控制台上;FILE是一个RollingFileAppender,将日志输出到logs/mylog.log文件中。我们还定义了两个logger:com.mycompany和root。com.mycompany的日志级别设置为INFO,将日志输出到FILE中;root的日志级别设置为ERROR,将日志输出到CONSOLE中。 这个配置文件使用了log4j.dtd,用于指定DTD及其命名空间。DTD是一种XML文档类型定义,它定义了XML文档中允许出现的元素、属性和实体,以及它们之间的关系。 ### 回答2: log4jXML配置文件是用于配置log4j日志框架的关键文件之一。通过该文件,我们可以定义日志的输出格式、输出级别、输出目标等。 XML配置文件中的关键元素包括: 1. `<log4j:configuration>`:配置文件的根元素,表示一个log4j配置文件。 2. `<appender>`:定义将日志信息发送到哪个目标,比如文件、控制台等。可以配置多个appender。 3. `<layout>`:定义日志的输出格式,如时间、日志级别、类名、消息等。常用的layout有`PatternLayout`和`SimpleLayout`。 4. `<root>`:定义根Logger的输出级别和appender。根Logger是所有Logger的父Logger,可以定义全局的输出级别和appender。 5. `<logger>`:定义特定包或类的Logger的输出级别和appender。 在XML配置文件中,我们可以通过配置不同元素的属性来实现对日志的灵活配置。比如可以通过设置`threshold`属性来指定输出级别,通过设置`file`属性来指定日志输出到文件等。 一个简单的log4jXML配置文件示例如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> <root> <priority value="DEBUG" /> <appender-ref ref="CONSOLE" /> </root> </log4j:configuration> ``` 以上配置定义了一个名为`CONSOLE`的appender,将日志输出到控制台,并使用`PatternLayout`作为输出格式。根Logger的输出级别为DEBUG,并将日志输出到`CONSOLE` appender中。 通过灵活配置log4jXML配置文件,我们可以根据实际需求定义日志的格式和输出目标,从而更好地进行日志管理和排查问题。 ### 回答3: log4j是一个开源的Java日志管理工具,用于记录应用程序的日志信息。XML配置文件log4j的一种配置方式,用于指定日志输出的格式、位置和级别等信息。 XML配置文件的结构主要包括根元素<log4j:configuration>和子元素<appender>、<logger>等。 <log4j:configuration>元素是XML配置文件的根元素,包含了整个配置的信息。它可以包含多个<appender>和<logger>。 <appender>元素用于定义日志记录的输出目标。它可以定义不同的输出方式,如控制台输出、文件输出等。每个<appender>元素都有一个唯一的名称,并可以通过<appender-ref>元素来引用。 <logger>元素用于定义应用程序的日志记录器。每个<logger>元素都有一个唯一的名称和一个级别。可以使用<appender-ref>元素将<logger>元素与<appender>元素关联起来,以将日志信息写入指定的输出目标。 XML配置文件还可以定义日志级别、日志格式等信息。日志级别包括DEBUG、INFO、WARN、ERROR和FATAL等,可以根据不同的需求进行设置。日志格式可以使用PatternLayout指定,包括日期、日志级别、类名、线程名等信息。 通过修改XML配置文件,可以方便地调整日志的输出方式和级别,使程序的日志信息更易读、更易管理。同时,XML配置文件的结构清晰,易于理解和维护。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值