2016-08-24 14 views
0

ログの出力は、特定のパッケージからのものでなければなりません。 log4j.propertiesで今slf4j特定パッケージへのログ

は、次のプロパティを追加しました: log4j.logger.com.pack1 = DEBUG、STDOUT

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"); 

} 

} 

、P/oを期待

テスト、私のクラス

実際のO/pで:クラス

私は何とかその特定のパッケージ "com.pack1" から出力したいです。 誰かがこれについて私を助けることができますか?あなたはlog4j.propertiesで異なることを設定している場合を除き、事前:)

答えて

0

でのおかげで、あなたは

LoggerFactory.getLogger("xyz") 

から取得しているロガーは、おそらく、おそらくINFOレベルでログに記録するように設定されているルートロガーであり、これはログ出力に "test-my"が表示されない理由です。一方

、あなたのtestクラスがcom.pack1パッケージにあるので、あなたは

LoggerFactory.getLogger(test.class) 

から取得ロガーは、あなたがラインで構成されているものです

log4j.logger.com.pack1=DEBUG, stdout 

であなたのlog4j.propertiesファイル、それであなたのデバッグ「クラス付き」メッセージが表示されます。

関連する問題