Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

绿色网站无广告
会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

log4j的总结

来源: hunter090730 分享至:

环境: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. <!-- Log4j提供的appender有以下几种: -->
  12. <!-- org.apache.log4j.ConsoleAppender(控制台), -->
  13. <!-- org.apache.log4j.FileAppender(文件), -->
  14. <!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->
  15. <!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), -->
  16. <!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) -->
  17. <!-- ========================================================================== -->


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史