`
hunter090730
  • 浏览: 190954 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

log4j的总结

    博客分类:
  • SSH
 
阅读更多

环境:JDK1.6+Spring2.5+log4j-1.2.15.jar+commons-logging.jar

我配置文件均在src根目录上,都是用在project上。

log4j整合app应用中有两种方法;一种是log4j.xml,一种是log4j.properties。

我在用log4j.xm时,系统总出如下错误:(且无法写日志)

 

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).

log4j:WARN Please initialize the log4j system properly.

log4j.xml配置文件如下:

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

 

<log4j:configuration>

<appender name="logs"

class="org.apache.log4j.RollingFileAppender">

<param name="Encoding" value="GBK" />

<param name="File" value="xmlLogs/logs.log" />

<param name="MaxBackupIndex" value="300" />

<param name="MaxFileSize" value="10000" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern"

value="%d{ISO8601} %p - %m %n" />

</layout>

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMin" value="info" />

<param name="LevelMax" value="error" />

<param name="acceptOnMatch" value="true" />

</filter>

</appender>

 

<appender name="synlogs"

class="org.apache.log4j.DailyRollingFileAppender">

<param name="Encoding" value="GBK" />

<param name="File" value="xmlLogs/synLogs.log" />

<param name="DatePattern" value="'.'yyyy-MM-dd" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern"

value="%d{ISO8601} %p - %m %n" />

</layout>

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMin" value="debug" />

<param name="LevelMax" value="error" />

<param name="acceptOnMatch" value="true" />

</filter>

</appender>

 

 

<logger name="com.me.conn" additivity="false">

<level value="info" />

<appender-ref ref="logs" />

</logger>

 

<logger name="com.me.service" additivity="false">

<level value="info" />

<appender-ref ref="synlogs" />

</logger>

 

 

<root>

<priority value="info" />

<appender-ref ref="logs" />

<appender-ref ref="synlogs" />

</root>

 

 

</log4j:configuration>

后来,log4j里在加了如上红色的代码,问题才得以解决。

=====log4j.properties====

 

#log4j.rootLogger=debug, stdout, R,D

log4j.rootLogger=INFO, R,D

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

 

#log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n

 

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=logs/log.log

log4j.appender.R.MaxFileSize=100KB

log4j.appender.R.MaxBackupIndex=22

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

 

### output daily file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = logs/DailyLog.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG 

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

#log4j.logger.com.codefutures=DEBUG

 

调用方式为:

 

Log logger = LogFactory.getLog(ApplicationTest.class);

logger.info("就可以了");
主要是实现了:两种appender方式。
org.apache.log4j.RollingFileAppender
org.apache.log4j.DailyRollingFileAppender

 

 

  1.  <!-- ========================== 自定义输出格式说明================================ -->  
  2.     <!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->  
  3.     <!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数  -->  
  4.     <!-- #%c 输出所属的类目,通常就是所在类的全名 -->  
  5.     <!-- #%t 输出产生该日志事件的线程名 -->  
  6.     <!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->  
  7.     <!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921  -->  
  8.     <!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)  -->  
  9.     <!-- ========================================================================== -->  
  10.       
  11.     <!-- ========================== 输出方式说明================================ -->  
  12.     <!-- Log4j提供的appender有以下几种:  -->  
  13.     <!-- org.apache.log4j.ConsoleAppender(控制台),  -->  
  14.     <!-- org.apache.log4j.FileAppender(文件),  -->  
  15.     <!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->  
  16.     <!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  -->  
  17.     <!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)   -->  
  18. <!-- ========================================================================== -->  

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics