开源日志记录工具log4j 使用
一、日志的应用场景
日志适用于解决这样的问题:例如,我们根据控制台输入被除数和除数,然后计算并输出商,不同的异常被正确地捕获,并在控制台上输出相应信息,而有时,我们还希望以文件的形式记录这些异常信息,甚至记录程序正常运行的关键步骤信息,以便日后查看,这种情况,我们呢可以通过日志来实现。
二、日志及其分类
软件的运行过程离不开日志,日志主要用来记录系统运行过程中的一些重要的操作信息,便于监视系统 运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因。
日志根据记录内容的不同,主要分为三类:
SQL日志:记录系统执行的sql语句。
异常日志:记录系统运行中发生的异常事件
业务日志:记录系统运行过程,如用户登录,操作记录。
三、log日志记录工具很多,在此介绍一个非常优秀的流行开源项目日志记录工具 Log 4j 的使用。
1、先讲述下log4j的大致操作步骤,下面具体讲解
在MyEclipse中使用log4j 的步骤比较简单,主要分为以下四个步骤。
(1)在项目中加入log4j所使用的jar文件;
(2)创建log4j.properties 文件;
(3)编写log4j.properties文件,,配置日志信息;
(4)在程序中使用log4j记录日志信息;
2、log4j是一个非常优秀的日志记录工具。通过log4j我们可以控制日志的输出级别,以及日志信息输送的目的地(如控制台、文件等),还可以控制每一条日志的输出格式。
log4j 是Apache的一个开源项目,官方网站是http://logging.apache.org/log4j/1.2/,这里使用log4j 1.2.17版本,当前下载地址是http://logging.apache.org/log4j/1.2/download.html,下载其中的zip文件并解压,里面包含的主要内容以及在zip包内的路径如下.
log4j 的jar包:apache--log4j--1.2.17\log4j--1.2.17.jar
使用手册(manual):apache--log4j--1.2.17\site\manual.html
javadoc(APIDocs): apache--log4j--1.2.17\site\apidocs\index.html
3、如何使用log4j记录日志
(1)在项目中加入log4j所使用的jar文件。
方法一:在MyEclipse 中选中要使用log4j的项目,然后依次选择“Project”-->"properties"---->"java Build path"---->“Add External JARs...”选项。弹出选择JAR的窗口。找到自己计算机上存放的文件,即“log4j --1.2.17.jar”.
确认后回到项目的属性窗口,单击“ok”按钮即可。
方法二:在MyEclipse中,选中要使用的项目,右键new 一个文件夹folder,将jar文件复制进去,然后选中jar文件,右键选择build path -------add to build path,这样系统会自动生成一个Preferenced Library文件夹,里面好苦有一个经过处理的文件。
(2)创建log4j.properties 文件。 需要在src目录下,创建一个该名字的文件file,然后在其中配置些关于日志的信息,如输出级别、输出目的地、输出格式等。特别注意,这个文件的文件名必须为“log4j.properties”,不得为其他!
(3)编写log4j.properties文件,配置日志信息。各配置项的具体可以自行设置,但需要使用其固定的标准,具体可以查看手册。下面是一个我常用的配置(当然可以更改):
### 设置Logger输出级别和输出目的地 ### trace/debug/info/warn/error/,这个是输出的级别
log4j.rootLogger=debug, console,logfile
### debug表示最低的输出级别,更改此处,可以过滤日志输出的类型,
### console 表示输出到那个位置,此处表示输出到控制台,
###logfile 表示输出到文件,
### 类似console 和logfile可以有好几个,还可以写到数据库
### 把日志信息输出到控制台 ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%p %m%n
####这里的p m n等符号都有特定含义,可查看手册
### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=test.log//此处表示日志文件存储的文件名,可在项目刷新后进行查看test文件
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
(4)之后可以在程序中记录日志信息。首先需要创建一个私有静态的Logger对象,然后可以通过它的debug()或者error() 等方法输出日志信息了
举例师范: