锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. 浠ヤ笅鏄拡瀵規寚瀹歱akage灞傝緭鍑哄埌鍗曠嫭Log鏂囦歡瀹炰緥
鍦ㄩ厤緗枃浠朵腑鎸夊寘鍚嶆垨綾誨悕鏉ュ畾涔塋ogger
鍦ㄧ▼搴忎腑鎸夌被鍚嶅彇Logger
瀹氫箟錛?br />
log4j.rootLogger=debug,stdout
log4j.logger.com.mypkg=debug,mypkg
log4j.logger.com.mypkg.db=info,db
log4j.logger.com.mypkg.mail=debug,mail
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5r [%5p][%c{2}] %m%n
log4j.appender.mypkg=org.apache.log4j.RollingFileAppender
log4j.appender.mypkg.File=system.log
log4j.appender.mypkg.Append=true
log4j.appender.mypkg.MaxFileSize=1MB
log4j.appender.mypkg.MaxBackupIndex=1
log4j.appender.mypkg.layout=org.apache.log4j.PatternLayout
log4j.appender.mypkg.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] - %m%n
log4j.appender.db=org.apache.log4j.FileAppender
log4j.appender.db.File=db.log
log4j.appender.db.Append=true
log4j.appender.db.layout=org.apache.log4j.PatternLayout
log4j.appender.db.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] - %m%n
log4j.appender.mail=org.apache.log4j.FileAppender
log4j.appender.mail.File=mail.log
log4j.appender.mail.Append=true
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] - %m%n
log4j.additivity.com.mypkg=false
log4j.additivity.com.mypkg.db=false
log4j.additivity.com.mypkg.mail=false
浣跨敤錛?br />
package com.mypkg;
public class Class1
{
private static Logger logger = Logger.getLogger(Class1.class);
...
if(logger.isDebugEnabled())
logger.debug("debug info");
...
}
package com.mypkg.db;
public class Class2
{
private static Logger logger = Logger.getLogger(Class2.class);
...
if(logger.isDebugEnabled())
logger.debug("debug info");
...
}
package com.mypkg.mail;
public class Class3
{
private static Logger logger = Logger.getLogger(Class3.class);
...
if(logger.isDebugEnabled())
logger.debug("debug info");
...
}
榪欐牱涓鏉ワ細
com.mypkg.mail涓嬬殑綾?Class3)鐨勬棩蹇楀氨浼氳鍏ail.log
com.mypkg.db涓嬬殑綾?Class2)鐨勬棩蹇楀氨浼氳鍏b.log
com.mypkg涓嬬殑綾?Class1)鍙婄被浼糲om.mypkg.pkg1榪欐牱鐨勬湭瀹氫箟鐩稿簲Logger鐨勫寘涓嬬殑綾?com.mypkg.pkg1.Class4)鐨勬棩蹇楀氨浼氳鍏ystem.log
com.mypkg浠ュ鐨勭被(com.pkg1.Class5)鐨勬棩蹇楀氨浼氳褰曞埌rootLogger錛屽嵆杈撳嚭鍒版帶鍒跺彴
涓嶇澧炲姞榪樻槸鍒犻櫎鏃ュ織閰嶇疆欏癸紝閮戒笉闇瑕佷慨鏀圭▼搴忥細
濡傛灉鎯沖幓鎺夊叾涓竴涓紝濡俶ail錛屽彧闇浠庨厤緗枃浠朵腑鍘繪帀"log4j.logger.com.mypkg.mail=info,mail"榪欎竴琛岋紝鍘繪帀鍚巆om.mypkg.mail鍖呬笅鐨勭被(濡侰lass3)鐨勬棩蹇楀氨浼氳鍏ystem.log涓?br />
濡傛灉瑕佹柊澧濴ogger錛屽com.mypkg.pkg2錛屽彧闇鍦ㄩ厤緗枃浠朵腑澧炲姞綾諱技閰嶇疆錛宑om.mypkg.pkg2鍖呬笅鐨勭被鐨勬棩蹇楀氨浼氳鍏ユ柊澧炵殑log鏂囦歡錛岃屼笉鍐嶈鍏ystem.log鏂囦歡銆?br />
2. 浠ヤ笅鏄拡瀵規煇涓猚lass鍗曠嫭杈撳嚭鍒癓og鏂囦歡瀹炰緥
榪樺彲浠ヤ負鎸囧畾綾婚厤緗竴涓猯ogger錛屽涓虹被com.mypkg.db.ConnectionPool閰嶇疆涓涓猯ogger錛?br />
log4j.logger.com.mypkg.db.ConnectionPool=debug,pool
log4j.appender.pool=org.apache.log4j.FileAppender
log4j.appender.pool.File=pool.log
log4j.appender.pool.Append=true
log4j.appender.pool.layout=org.apache.log4j.PatternLayout
log4j.appender.pool.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] - %m%n
log4j.additivity.com.mypkg.db.ConnectionPool=false
榪欐牱涓鏉ワ紝ConnectionPool綾葷殑鏃ュ織灝變細璁板叆pool.log錛屼笉浼氳鍏b.log
榪樺彲浠ヤ袱涓狶ogger浣跨敤鍚屼竴涓猘ppender錛?br />
log4j.logger.com.pkg1=debug,system
log4j.logger.com.pkg2=info,system
榪欐牱鐨勮瘽com.pkg1鍜宑om.pkg2涓嬬殑鏃ュ織浼氬垎鍒互degug鍜宨nfo綰у埆杈撳嚭鍒皊ystem榪欎釜appender鎸囧畾鐨勬枃浠朵腑
3. 浠ヤ笅鏄拡瀵規寚瀹歀og Level鍗曠嫭杈撳嚭鍒板崟鐙殑Log鏂囦歡瀹炰緥
log4j.logger.errorLogger=ERROR, errorLog
log4j.appender.errorLogger=org.apache.log4j.RollingFileAppender
log4j.appender.errorLogger.File=/logs/error/errorLog.log
log4j.appender.errorLogger.MaxFileSize=512KB
log4j.appender.errorLogger.MaxBackupIndex=3
log4j.appender.errorLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.errorLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] - %m%n
鍏抽敭鍦ㄧ▼搴忛噷闈ew log object鏃跺欒繖鏍峰啓錛?br />
鎯緥錛?br />
Log log = LogFactory.getLog(this.getClass());
鎸囧畾杈撳嚭鐨刟ppender(appender鍒跺畾杈撳嚭鐨凩evel)錛?br />
Log log = LogFactory.getLog(errorLog);