2016-08-24 122 views
0

日誌的輸出應該來自特定的包。slf4j日誌記錄到特定的包

在log4j.properties

現在,已經添加以下屬性: log4j.logger.com.pack1 = DEBUG,標準輸出

PFB的代碼(在com.pack1.logging包test.java類) :

package com.pack1.logging; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class test { 

private static Logger myLogger = LoggerFactory.getLogger("xyz"); 

static { 
    myLogger.debug("test-my"); 
    LoggerFactory.getLogger(test.class).debug("with class"); 

} 

} 

使用上述代碼之後,

預期O/p: 測試我 與類

實際O/P:

我想以某種方式從該特定包 「com.pack1」 的輸出。 有人可以幫我嗎?感謝提前:)

回答

0

除非你已經在你的log4j.properties不同配置的它,記錄器,你是從

LoggerFactory.getLogger("xyz") 

越來越可能是根記錄器,這可能是設置爲記錄在INFO水平這就是爲什麼你在日誌輸出中看不到「test-my」的原因。

在另一方面,由於你的test類是在com.pack1包,您從

LoggerFactory.getLogger(test.class) 

獲得日誌是你與線路配置的一個

log4j.logger.com.pack1=DEBUG, stdout 

在你的log4j.properties文件,這就是爲什麼你的調試「帶類」消息出現。