Java log4j使用
log4j下载地址:
http://logging.apache.org/log4j/1.2/download.html
本人用的是log4j-1.2.17.jar的jar包。 接下来我们配置下一log4j
第一步 加载log4jjar包
首先,我们先在项目中创建一个文件夹,
右键你的项目,选择New,选择Folder,命名为lib,然后点击Finish。
把你下载的jar包复制到此文件夹
然后右击你的log4j,选择Build path,然后在选择Add to Build path现在就加载完成了。
第二步 创建log4j.properties。
右键你项目中的src,选择New,选择File,命名为log4j.properties,(不能改名字,因为它是写死的,不能改变。)点击Finish完成。
第三步:配置log4j
在这个页面中填写代码:
代码填写为:
log4j.rootLogger=debug, stdout,logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=jbit.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}%l %F %p %m%n
然后保存。
第四步:编写测试类。
public static void main(String[] args) { // TODO Auto-generated method stub Logger logger=Logger.getLogger(Test.class.getName()); int num1=10; int num2=0; try { System.out.println(num1/num2); } catch (Exception e) { logger.debug("除数不能为0"+num2); } }
运行结果就是:
我给大家介绍一下编写log4j.properties里代码的意思。
输出级别设置:
log4j.rootLogger=debug, stdout,logfile
fatal | 指出严重的错误事件将会导致应用程序的退出。 |
error | 指出虽然发生的错误事件,但仍然不影响系统的继续运行。 |
warn | 表明会出现现在错误的情形。 |
info | 在粗粒级别上指明消息,强调应用程序的运行过程。 |
debug | 指出细粒度信息事件,对调试应用程序是非常有帮助的。 |
他们的优先级别是 : fatal>error>warn>info>deb
输出目的地:log4j.rootLogger=debug, stadout,logfile
其中stadout,logfile指的是日志输出目的地的名字。
ConsoleAppender:输出日志事件到控制台。
FileAppender:输出日志事件到一个文件。
日志布局类型layout
Appender必须使用一个与之相关联的布局类型Layout,用来制定它的输出样式。
log4j中常用的layout有一下三种
1.HTMLLayout:格式化日志输出为HTML表格。
2.SimpleLayout:以一种非常简单的方式格式化日志输出,它输出级别Level,然后跟一个破折号“—”,最后是日志消息。
3.PatternLayout:根据指定的转换模式格式化日志输出,从而支持丰富多样的输出格式,需要配置layout.ConversionPattern属性,
若没有配置该属性,则使用默认的转换模式。
转换模式ConversionPattem
对于PatternLayout,需要配置layout.ConversionPattern属性,常用的配置参数及含义。
1.%d :用来设置输出日志的日期和时间,默认格式为ISO8601。
2.%m :用来输出代码中指定的消息。
3.%n :用来输出一个回车换行符。
4.%p:用来输出优先级,即debug、info、warn、error、fatal等。
5.%F :用来输出文件名。
6.%M :用来输出方法名。