1. 程式人生 > >Log4j 為單獨的類生成單獨的日誌檔案

Log4j 為單獨的類生成單獨的日誌檔案

最近公司專案需要去網路上下載圖片,根據不同情形將日誌儲存到不同的檔案中。具體說就是普通的日誌資訊輸出到一個單獨的檔案,圖片下載失敗的日誌單獨儲存到另一個檔案中,以便後期回溯。

log4j配置檔案

log4j.rootLogger=info, stdout
#Root Logger
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p] %-d{yyyy-MM-dd HH:mm:ss} [%c %M] %m%n

#============================================================Logger S
log4j.logger.CommonLog=info, stdout, S
log4j.additivity.CommonLog = false
log4j.appender.S=org.apache.log4j.RollingFileAppender
log4j.appender.S.File=D:/fbb/myWorkSpace_DW/common_ganji.log
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern=[%p] %-d{yyyy-MM-dd HH:mm:ss} [%c %M] %m%n
#============================================================Logger B
log4j.logger.ErrorLog=error, stdout, B
log4j.additivity.ErrorLog = false
log4j.appender.B=org.apache.log4j.RollingFileAppender
log4j.appender.B.File=D:/fbb/myWorkSpace_DW/failed_ganji.log
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern=[%p] %-d{yyyy-MM-dd HH\:mm\:ss} [%c %M] %m%n


在應用程式中使用示例

import org.apache.log4j.Logger;

public class LogUtil {
	private static Logger cLogger = Logger.getLogger("CommonLog");
	private static Logger eLogger = Logger.getLogger("ErrorLog");
	
	public static void downError(Class clz,String message){
		eLogger.error(message+" ["+clz.getName()+"]");
	}
	
	public static void info(Class clz,String message){
		cLogger.info(message+" ["+clz.getName()+"]");
	}
	
	public static void debug(Class clz,String message){
		cLogger.debug(message+" ["+clz.getName()+"]");
	}
	
	public static void warn(Class clz,String message){
		cLogger.warn(message+" ["+clz.getName()+"]");
	}
	
	public static void error(Class clz,String message){
		cLogger.error(message+" ["+clz.getName()+"]");
	}
}


這裡的 CommonLog ,ErrorLog就是在log4j配置檔案中配置好的

標記一下,呼呼