使用log4j

首先,log4j的配置有两种方式一种是使用properties文件,一种是使用xml文件。一般看你的习惯了,我是喜欢使用xml文件的。基本配置的主要内容分为二大块,一块是appender你可以认为是输出方式,一块是Logger就是日志记录器。

appender常用的有输出到控制台的、输出到文件的、输出到数据库的,以及输出到某个socket的。每个appender需要设置它的输出格式也就是layout。layout也有许多种,我经常使用XMLLayout,主要是我喜欢用log4j自带的chainsaw这个工具来查看日志,这个工具只能查看XML格式的文档。如果不用这个工具,那一般就会使用PatternLayout,然后设置ConversionPattern即具体的输出格式。

logger是用来区分不同的日志记录器的。log4j中最高的级别是root,自己定义的级别都是root的子logger。每个logger都可以指定appender,如果没有指定就按照其父logger的appender来输出。举个例子:net.example,如果没有指定它的appender则它会去找net的appender,如果net也没有指定就按照root的来。所以,一般来说你需要指定root的appender,不然如果你没有为某一特定category的logger指定appender就会显示log4j初始化出错。此外logger的设置中还需要指定需要输出的日志级别,日志级别有info,warn,error,debug,fatal等,你也可以定义自己的级别。

在配置文件中完成后,需要将log4j.jar和log4j.xml(log4j.properties)放在类路径上,这样会起作用。下面是一个log4j.xml的例子。

 

代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
  3. <log4j:configuration debug="true"  
  4. xmlns:log4j='http://jakarta.apache.org/log4j/'>  
  5.   
  6. <appender name="CON" class="org.apache.log4j.FileAppender">  
  7.     <param name="Threshold" value="INFO"/>  
  8.     <param name="File" value="C:/Documents and Settings/xujin/My Documents/logs/system.log"/>  
  9.     <layout class="org.apache.log4j.xml.XMLLayout"/>  
  10.            
  11. </appender>  
  12.   
  13. <appender name="HIBERNATE" class="org.apache.log4j.FileAppender">  
  14.     <param name="File" value="C:/Documents and Settings/xujin/My Documents/logs/hibernate.log"/>  
  15.     <layout class="org.apache.log4j.xml.XMLLayout"/>  
  16. </appender>  
  17.   
  18. <appender name="CIPEJB" class="org.apache.log4j.FileAppender">  
  19.     <param name="File" value="C:/Documents and Settings/xujin/My Documents/logs/cipejb.log"/>  
  20.     <layout class="org.apache.log4j.xml.XMLLayout"/>  
  21. </appender>  
  22.   
  23. <logger name="net.sf.hibernate">  
  24.     <level value="INFO"/>  
  25.     <appender-ref ref="HIBERNATE" />  
  26. </logger>  
  27.   
  28. <logger name="com.up.cip.ejb">  
  29.     <level value="INFO"/>  
  30.     <appender-ref ref="CIPEJB" />  
  31. </logger>  
  32.   
  33. <root>  
  34.     <level value ="INFO" />  
  35.     <appender-ref ref="CON" />  
  36. </root>  
  37. </log4j:configuration>  

notice:1。不需要在web.xml中写。只要保证你的log4.xml和log4j.jar都在类路经上就行了。
2。使用时只要在程序中写如下代码
Logger logger=Logger.getLogger(com.yourcompany);就得到了一个名为com.yourcompany的logger,然后记录时就调用类似logger.warn(logString)就行了。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值