如何使用log4j

来源:互联网 发布:安卓间谍软件 编辑:程序博客网 时间:2024/06/06 09:19

    log4j它是一个非常好用的日志系统,可是到底我该怎样才能快速的学习使用它呢?我从网上找了很久的资料,可是光看一看还真是不够!才发现,原来只有实例是最容易学会的。

    刚开始看了很多文章,对Log4j的一些配置基本有个了解了,但是等我真正要动手用的时候,才发现,当我把配置文件写好后,不知道该怎么用它,不知道应该将它放到哪里!呵呵,都怪我太笨了吧!所以,我希望将我学习log4j的过程记录下来,帮助也像我一样的朋友顺利的了解log4j的使用!

 

   我从网上找了很多文章啊,也有实例的,下面我把它也列一遍咯:

首先你必须到log4j官方网站下载log4j,然后与下面的程序放在同一目录下
 
源程序:
 
 
 
配置文件log4j.properties具体内容如下:
配置文件如下:
# 设置A2可用
log4j.rootLogger=INFO, A2
 
#设置日志输出方式为“控制台输出”
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=ERROR
 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p [%t] %c{2} (%M:%L) - %m%n
 
# Appender A2 writes to the file "test" in user's home.
#log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2=org.apache.log4j.RollingFileAppender
#日志输出文件
log4j.appender.A2.File=E://log4j//test.log
#日志文件大小
log4j.appender.A2.MaxFileSize=1024KB
#日志文件最大备份数
log4j.appender.A2.MaxBackupIndex=10
 
# Truncate 'test' if it aleady exists.
#如果日志文件存在,则追加
log4j.appender.A2.Append=true
 
# Appender A2 uses the PatternLayout.
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern= %5r %-5p [%d{yyyy-MM-dd HH:mm:ss}] %c{2} - %m%n
 
这段文章来自:http://blog.csdn.net/tomison/archive/2008/03/14/2179804.aspx

分析配置文件的就不贴上来了!

另外源程序我要说明一个地方(可能也有人像我一样菜鸟):源程序当中

PropertyConfigurator.configure(args[0]);

这一句的参数 args[0] 应该是配置文件的名称或者是路径(我试了就是出下面的问题啊!)

配置文件中打印设置说明:

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: %m 输出代码中指定的消息

   %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  %r 输出自应用启动到输出该log信息耗费的毫秒数
  %c 输出所属的类目,通常就是所在类的全名
  %t 输出产生该日志事件的线程名
  %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:
2002年10月18日 22:10:28,921
  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

 

但是我遇到了另一个问题,我照上面的做了,执行程序时报错:
log4j:ERROR Could not read configuration file [/log4j.properties].
java.io.FileNotFoundException: /log4j.properties (系统找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(Unknown Source)
 at java.io.FileInputStream.<init>(Unknown Source)
 at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:297)
 at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
 at useLog4j.LoggerTest.main(LoggerTest.java:15)
log4j:ERROR Ignoring configuration file [/log4j.properties].
log4j:WARN No appenders could be found for logger (useLog4j.LoggerTest).
log4j:WARN Please initialize the log4j system properly.

 

问题有待解决啊!!下次补充

原创粉丝点击