2013-05-13 61 views
1

這裏是我的log4j的東西,這是的.properties文件如何爲特定的類和包設置日誌級別?

[email protected][email protected], stdout, rollingFile, smtp 
##[email protected][email protected] 
logging.appender.stdout=org.apache.log4j.ConsoleAppender 
logging.appender.stdout.layout=org.apache.log4j.PatternLayout 
logging.appender.stdout.layout.ConversionPattern=%d %-5p %c [%M:%L] %m%n 

@ DEBUG_LEVEL @這是在單獨的「appenv.bash」文件中設置,針對不同的環境中,它的設置不同。在生產中它被設置爲ERROR,我想在特定的類中使用INFO。由於此INFO,DEBUG將不會顯示在生產環境中。

如何在一個包中將一個特定類的日誌級別設置爲INFO?

+0

@Luiggi - 感謝編輯我的標題 – user1771540 2013-05-15 21:53:28

回答

0

您在這裏聲明一個記錄器rootLogger。它是所有記錄器的「父」,所以如果你想要一個細粒度的配置,你必須聲明一個更詳細的記錄器。

下面的行創建一個記錄所有包下com.foo.bar類: log4j.logger.com.foo = WARN,標準輸出

你的類必須實例化的記錄是這樣的: 記錄器記錄器= Logger.getLogger(MyClass.class.getCanonicalName());

但你可以在這裏放任何字符串,例如: log4j.logger.onlyoneclasswilluseit = WARN,標準輸出

並獲得這樣說: 記錄器記錄= Logger.getLogger( 「onlyoneclasswilluseit」);

+0

感謝您的回覆,但我們現在在我的項目中使用它。我只是使用錯誤級別和我的同事是保持splunk工具的限制。 SPLUNK將把警報發送到特定的分發電子郵件列表。它會從我們的應用程序日誌中選擇錯誤日誌。如果我需要下一次我將與您的想法和更新在這裏。 – user1771540 2013-05-15 21:52:48

相關問題