前言:
其实后面会采用XML进行文件配置,且有框架自带,但是当一个开源软件学习还是非常有必要的!!
运行效果如图,还是有些坑点的:
坑点提示:
1.JDK版本过低,所用log4j的版本过高会出现,
MyEclipse 运行弹出A Java Exception has occurred.
首先,下载Jar包的问题:
我还是用低版本的把,,,也只是学习一下。
要学会上官网呀,然后选择哪个被淘汰的 zip这样就可以直接找到Jar
http://logging.apache.org/log4j/1.2/download.html
二、配置文件应当放在src路径下,
否则会报错找不到此类
三、配置好相应的配置:
NOTE:
网上许多配置文件是有点问题:
log4j:ERROR Category option " 1 " not a decimal integer.错误解决
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n
把{1}中的空格去掉。
所以建议采用以下配置文件
### \u8BBE\u7F6E###
log4j.rootLogger = debug,stdout,logfile,error### \u8F93\u51FA\u4FE1\u606F\u5230\u63A7\u5236\u62AC ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### \u8F93\u51FADEBUG \u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7\u5230=log.log ###
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
### \u8FD9\u91CC\u4E0D\u5199\u8DEF\u5F84\u5C31\u662F\u5728\u5F53\u524D\u76EE\u5F55\u4E0B\u521B\u5EFA\u65E5\u5FD7\u6587\u4EF6 ###
log4j.appender.logfile.File = log.log
log4j.appender.logfile.Append = true
log4j.appender.logfile.Threshold = DEBUG
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n###\u5355\u72EC\u4FDD\u5B58ERROR\u7EA7\u522B\u4EE5\u4E0A\u7684\u5F02\u5E38\u5230=error.log ###
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
### \u8FD9\u91CC\u4E0D\u5199\u8DEF\u5F84\u5C31\u662F\u5728\u5F53\u524D\u76EE\u5F55\u4E0B\u521B\u5EFA\u65E5\u5FD7\u6587\u4EF6 ###
log4j.appender.error.File =error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
三、插件使用:
2.1Logger对象有七个级别
2.2Appender对象(输出到那里去)
2.3Layout布局管理对象(输出的格式)
配件信息描述:
#定义根目录开启的级别,A1 A2 为下面使用的变量
log4j.rootLogger=debug,A1,A2#3个组件
#1 Logger对象(7个级别):all < debug < info < warn < error < fatal < off。#2 Appender对象(输出到哪里去)
#创建一个Appender对象,对象名为A1,它的类型是ConsoleAppender(控制台)
log4j.appender.A1=org.apache.log4j.ConsoleAppender
#创建一个Appender对象,对象名为A2,它的类型是FileAppender(文件格式)
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.file=d\:/com/log251.log#3 Layout对象(布局管理对象),输出的格式
#设置A1这个对象的输出格式为SimpleLayout(简单格式)
#log4j.appender.A1.layout=org.apache.log4j.SimpleLayout#设置A1这个对象的输出格式为PatternLayout(模式格式)
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#设置A2这个对象的输出格式为PatternLayout(模式格式)
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
#设置A1,A2这个Appender的模式格式是
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n