Log4j按級別輸出到不同檔案

2022-03-23 23:23:12 字數 1235 閱讀 2380

之前曾寫過一篇帖子,是log4j按包路徑輸出到不同檔案。

log4j按級別輸出到不同檔案,也類似。

先看配置:

### set log levels ###    

log4j.rootlogger=info,error,info  

log4j.logger.info=info  

log4j.logger.error=error  

測試類:

import org.apache.log4j.propertyconfigurator;  

import org.apache.log4j.xml.domconfigurator;  

import com.zznode.test.test;  

/** 

* @desc: 

* @since nov 8, 2012 

* @author chaisson  

* * 

*/  

public void printlog()   

public static void main(string args)   

}  輸出結果有點問題:info.log裡面也包含了error的輸出。

源**public boolean isassevereasthreshold(priority priority)      

重寫 isassevereasthreshold(priority priority)方法

/** 

* @desc: 

* @since apr 17, 2013 

* @author chaisson  

* * 

*/  

@override  

public boolean isassevereasthreshold(priority priority)     

}  這樣,進行唯一判斷,只有當threshold與priority一致時,才進行輸出,就實現了真正log4j按照級別輸出日誌檔案。

修改配置檔案:

### set log levels ###    

log4j.rootlogger=info,error,info  

log4j.logger.info=info  

log4j.logger.error=error  

這樣才算完成了。

補充:有同事討論,如果是xml配置,通過filter會簡便:

filter>  

Log4j按級別輸出到不同檔案

log4j.properties 檔案 log4j.logger.net.sf.hibernate.cache debug log4j.rootlogger error,portal log,shop log 這就比較煩,得到了我所不要想要的日誌資訊 源 public boolean isassev...

Log4j按級別輸出日誌到不同檔案配置

package com.liying.mango.common.interceptor import import org.apache.log4j.priority public override public boolean isassevereasthreshold priority prio...

Log4j按級別輸出日誌到不同檔案配置分析

log4j.rootlogger info,stdout,info,debug,error log4j.logger.info info log4j.logger.debug debug log4j.logger.error error而實際上這部分 解決不了按照log4j的級別檔案進行檔案輸出。配...