2016-09-27 120 views
1

パッケージベースのワイルドカードは指定できませんが、ロガー名ベースのワイルドカードはlog4j 1.xで指定できますか?log4jロガークラス名ワイルドカード

私はこのような何かをしたい:

<logger name="*Reporter" > 
    <level value="INFO"/> 
    <appender-ref ref="ReportFileAppender"/> 
</logger> 

答えて

1

No(セクション "ロガー階層" を参照してください)。あなたがしようとしているのは、すべてのロガーが独自の名前を持つので不可能なロガーのセットを定義することです。

次はあなたが達成しようとしているものを模倣する必要があります。

すべての* Reporterのクラスで
<logger name="Reporter" > 
    <level value="INFO"/> 
    <appender-ref ref="ReportFileAppender"/> 
</logger> 

public class MyReporter { 
    private static final Logger logger = LogManager.getLogger("Reporter"); 

    public MyReporter() { 
     logger.debug("foo"); 
    } 
} 

私の直感では、あなたが本当に代わりにパッケージを使用する必要がありますということです。

関連する問題