Eclipse新建一个java project TestLog
新建一个com.janeky.log包
导入log4j的jar包
包里新建一个Log.java
view plaincopy to clipboardprint?
package com.janeky.log; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; /** * @author janeky * Log演示程序 */ public class Log { //Logger实例 private Logger loger; //将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用 private static Log log; //构造函数,用于初始化Logger配置需要的属性 private Log() { //获得当前目录路径 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"); } static Log getLoger() { if(log!=null) return log; else return new Log(); } //测试函数 public static void main(String args[]) { Log log=Log.getLoger(); try { //引发异常 int a=2/0; }catch(Exception e) { //控制台打印异常信息 e.printStackTrace(); //写入到日子文件 log.loger.error("error", e); } } }在src文件夹中新建一个文本文档 log4j.properties
log4j.rootLogger=DEBUG, R #设置日志输出类型,为文件类型 log4j.appender.R=org.apache.log4j.FileAppender #设置日志文件名my.log log4j.appender.R.file=my.log #每次在文件尾写入新的日志信息 log4j.appender.R.Append=true #日志输出信息格式类型 log4j.appender.R.layout=org.apache.log4j.PatternLayout #日志输出信息格式为 换行、换行、日期、优先级、[类名]、日志信息、换行 log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n #定义DEBUG优先级,R为日志输出目的的log4j.rootLogger=DEBUG, R#设置日志输出类型,为文件类型log4j.appender.R=org.apache.log4j.FileAppender#设置日志文件名my.loglog4j.appender.R.file=my.log#每次在文件尾写入新的日志信息log4j.appender.R.Append=true#日志输出信息格式类型log4j.appender.R.layout=org.apache.log4j.PatternLayout#日志输出信息格式为 换行、换行、日期、优先级、[类名]、日志信息、换行log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n运行吧,出错了,恭喜你成功了,去TestLog目录下寻找my.log日志信息吧
以后再任何需要记录日志的地方只要使用下面语句就行了Log log= Log.getLogger();log.logger.error("something u like to record");