学习目标:
1、深刻认识日志的重要性
2、了解Java的日志Log4J的使用
3、能根据业务需要定义和使用日志
学习过程:
一、Log4j简介
1、什么是Log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
2、Log4j的5个级别
第一级别: DEBUG Level。指出细粒度信息事件对调试应用程序是非常有帮助的。
第二级别: INFO level。表明消息在粗粒度级别上突出强调应用程序的运行过程。
第三级别: WARN level。表明会出现潜在错误的情形。
第四级别: ERROR level。指出虽然发生错误事件,但仍然不影响系统的继续运行。
第五级别: FATAL level。指出每个严重的错误事件将会导致应用程序的退出。
这些级别是由高低之分的,最低级别是DEBUG级别,最高级别是FATAL level。如果当前的日志信息是低级别的,那就在属性文件中当前级别和比当前级别高的都会触发。
二、使用Log4j
Log4j的使用非常简单,按照以下几个步骤即可:
1、导包
我们需要导入commons-logging.jar和log4j-1.2.8.jar,在项目中新建lib,把这两个jar包复制进去,然后选择这两个点击add to Build Path即可。
2、建立总配置文件。
在src下面建立一个名字必须为log4j.properties的属性文件。属性文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
日志信息可以输出到控制台、文件和数据库中,数据库我们暂时没有学到,所以先注释了,输出到文件在上面的示例中使用了三种方式,分别是:普通文件方式、按日期生成文件、文件回滚方式。属性文件的属性名称说明如下:
log4j.appender.CONSOLE.Threshold 是定义日志级别的。
log4j.appender.FILE.layout
log4j.appender.FILE.layout.ConversionPattern 定义日志信息的格式的。
其他的属性名称信息大家可以自己阅读代码。
3、在程序中应用
我们只需要使用Log对象即可
//通过日志工厂类获得日志对象
protected static final Log log = LogFactory.getLog(Login.class);
我们模拟一下用户登录后记录用户的信息,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
4、测试。
下面你可以多运行一下这段代码,然后在控制台和D盘中看看日志文件的输出效果如何。