我對log4j的類別有一些懷疑。Log4j:多個類別與專精
我有三類...
Program
Program.BUILD
Program.QUERY
當我定義以下log4j.properties:
log4j.logger .P rogram = DEBUG,標準輸出,文件
log4j.logger.program.BUILD = DEBUG,文件
,並在Java中我打電話:
Logger logger = Logger.getLogger("program.BUILD");
假設stdout和文件是附加器分別控制和文件。
我的問題是,當我指定兩個類別,如圖所示,`program.BUILD日誌的寫入控制檯和文件。但他只是爲文件appender指定的。 log4j然後使它成爲繼承?
我想指定三個類別,但是如果指定,他只捕獲program.BUILD
該類別中指定的內容,而不使用通用類別(程序)。 但是,如果未指定,則類別program.QUERY
和program.BUILD
正在選取程序類別,因爲它代表未指定的兩個類別。
我該怎麼做?
@Croisier我在哪裏添加此標誌 「相加=假」?在記錄器對象是program.BUILD與命令logger.setAdditivity(false)?如果我不設置program.BUILD,它會繼承程序嗎? –
像這樣(假設你使用.properties基於文件的配置):log4j.additivity.program。BUILD = false –
感謝您的幫助,這項工作適合我。 –