log4j是一个很强大的日志记录工具,可以在系统中记录一些操作信息,帮助管理人员后台分析与管理相关的数据。可以将你需要记录的数据控制台、文件、接口服务器、GUI组件。用户可以通过配置,也可以通过自己的配置,灵活的记录日志格式,从而达到数据分析、系统分析的效果。好了,废话少说,收先配置一个简单的log4j的日志系统。
--------------------------------------------------------------------------------------
Log4j配置说明使用下载
log4j 的jar包,配置,以及有两个配置文件,一个是log4j单个log日志的,一个是多个的, 根据里面的文档,配置一下,就应该可以使用
具体下载目录在 /2014年资料/1月/1日/Log4j的配置和使用
--------------------------------------------------------------------------------------
Log4j的简单使用:
1、 首先,导入log4j的jar包:log4j-1.2.16.jar包,放到lib下面就好了。
2、 配置log4j的文件,名字为log4j.properties,将这个文件放到src目录下面就好,如下图:
3、 配置log4j文件,具体代码如下:
log4j.rootLogger=debug, B
log4j.appender.B = org.apache.log4j.DailyRollingFileAppender
log4j.appender.B.File = G:/test/error.log
log4j.appender.B.DatePattern='.'yyyy-MM-dd
log4j.appender.B.Append = true
log4j.appender.B.Threshold = ERROR
log4j.appender.B.layout = org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern = %n%d%p[%c]-%m
log4j.appender.B.MaxFileSize= 1024KB
注释:
log4j.rootLogger=debug, B //这是一个全局变量,是必须要配置的 B是这个别名,很明显,在下面可以看到这个别名的用法。
log4j.appender.B = org.apache.log4j.DailyRollingFileAppender //表示输出方式,表示每天产生一个日志文件
log4j.appender.B.File= G:/test/error.log //表示将日志输出到G盘符下面的test文件夹中。这样,再利用的时候,就会在G盘的test文件夹下面,有log日志了。
log4j.appender.B.DatePattern='.'yyyy-MM-dd //表示在文件的后面添加一个日期格式的名字,这样,每天生成的日志,都会在后面有一个日期的名字了。
log4j.appender.B.Append = true //表示是追加的,不是重写的,如果不设置的话,一个log日志中,可能就会只出现一条日志记录。
log4j.appender.B.Threshold= ERROR //表示日志的级别,log4j一共有5个级别,这个后面有注释。
log4j.appender.B.layout = org.apache.log4j.PatternLayout//表示可以灵活的制定布局模式
log4j.appender.B.layout.ConversionPattern =%n%d%p[%c]-%m //布局模式,日志以种种格式数出来的。2013-12-17 19:29:34,984ERROR[errorlog]-msg
log4j.appender.B.MaxFileSize= 1024KB //表示最大的日志文件时多少,当超过这个限制的时候,就创建一个新的文件
4、 编写Java
Java代码如下:
package com.zy.other;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public classLog {
//Logger实例
publicLogger loger;
//将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用
privatestaticLog errorlog;
privatestaticString str;
//构造函数,用于初始化Logger配置需要的属性
privateLog()
{
//获得当前目录路径
String filePath=this.getClass().getResource("/").getPath();
//找到log4j.properties配置文件所在的目录(已经创建好)
filePath=filePath.substring(1).replace("bin", "src");
//获得日志类loger的实例
loger=Logger.getLogger(this.getClass());
//loger所需的配置文件路径
PropertyConfigurator.configure("/"+filePath+"log4j.properties");
str = filePath;
}
publicstaticLog getLoger()
{
if(errorlog!=null)
return errorlog;
else
return new Log();
}
//测试函数
publicstaticvoidmain(String args[])
{
Log log=Log.getLoger();
System.out.println(str);
log.loger.error("msg");
}
publicstaticvoidwritelog(Exception e){
Log log=Log.getLoger();
System.out.println(str);
log.loger.error(e.getMessage(), e);
}
}
运行一下主函数,就会在你的对应的文件创建一个log日志了。
注意:上面的每天生成一个备份文件,当天的是没有日期的,只有到了第二天,才会出现上一天的日志文件。