2016-05-10 2 views
1

ここには、「JBoss」にデプロイされる「戦争」があります。いくつかの機能を備えたSOAP Webサービスを公開しています。我々はDEBUGのような異なるレベルでINFOレベルでログに記録するfunc1()、しばらくfunk2()を有することができる方法各WebServiceメソッドのログレベルを個別に管理する

?レベルは、関数の開始から関数の終了までのスレッド内のすべてに影響するはずです。

ログレベルは、JBoss Webコンソールを介して「パッケージ単位」で管理されるようになりました。私の場合でも、実行時の同様の設定が必要です。

ジャワ、春4は、JBoss EAPの6.4.x、一般的にはlogback 1.1.3

答えて

1

、あなたは、のメソッドを持っている方が混乱が少なくなるでしょう異なる方法で異なるロガーレベルを使用したい場合さまざまなクラスを作成し、必要なレベルに設定されている各クラスのロガーの「伝統的な」アプローチを使用することができます。

しかし、異なるレベルの1つのクラスログに複数の機能を追加するには、異なるロガーを使用する必要があります。標準的なアプローチはクラスごとに1つのロガーです(クラスの後に名前が付けられたロガー)。異なる設定が必要な場合は、複数のロガー(名前が異なる)が必要です。あなたはその後、独立して2つのロガーのログレベルを設定することができるはず

public class MyClass { 
    private static final Logger func1logger = LoggerFactory.getLogger("test.example.MyClass.func1"); 
    private static final Logger func2logger = LoggerFactory.getLogger("test.example.MyClass.func2"); 

    public void func1() { 
     func1logger.debug("func1 log"); 
    } 

    public void func2() { 
     func2logger.debug("func2 log"); 
    } 
} 

はこのような何かを試してみてください。つまり、標準的な規則では、ロガーの名前が正確にクラスの名前になっていますが、これは単なる(便利な)規約ですが、要件が異なる場合は正確に従う必要はありません。

関連する問題