2016-09-27 97 views
1

是否可以指定不是基於包的通配符,但是記錄器名稱基於通配符在log4j 1.x中?log4j記錄器類名稱通配符

我想是這樣的:

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

回答

1

No(見 「記錄器層次結構」)。你要做的是定義一組不可能的記錄器,因爲每個記錄器都有自己的名字。

下應該模仿你想達到什麼目的:

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

我的直覺是,你真的應該使用軟件包代替。