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.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
運行吧,出錯了,恭喜你成功了,去TestLog目錄下尋找my.log日誌信息吧
以後再任何需要記錄日誌的地方只要使用下面語句就行了
Log log= Log.getLogger();
log.logger.error("something u like to record");