[英]How to set log level for specific class and package?
這是我的log4j內容,位於.properties文件中
logging.rootLogger=@DEBUG_LEVEL@, stdout, rollingFile, smtp
##logging.appender.stdout.Threshold=@DEBUG_LEVEL@
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。 作為此信息,DEBUG將不會在生產環境中顯示。
如何在一個包中為一個特定類將日志級別設置為INFO?
您在這里聲明一個記錄器,即rootLogger。 它是所有記錄器的“父級”,因此,如果要進行細粒度的配置,則必須聲明一個更特定的記錄器。
以下行為包com.foo.bar下的所有類創建了一個記錄器:
log4j.logger.com.foo=WARN, stdout
您的班級必須以這種方式實例化記錄器:
Logger logger = Logger.getLogger(MyClass.class.getCanonicalName());
但是您可以在此處放置任何字符串,例如:
log4j.logger.onlyoneclasswilluseit=WARN, stdout
並以這種方式獲取:
Logger logger = Logger.getLogger("onlyoneclasswilluseit");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.