簡體   English   中英

僅指定一些包進行調試 output

[英]Specify only some packages to have debug output

我想記錄我的 web 應用程序的一些行為,該應用程序還實現了 hibernate、spring 等。 當我嘗試從 apache 實現 log4j 記錄器時,我遇到了一些麻煩。

當我打開記錄器時,它也在調試我不想要的 hibernate 和 spring。 我嘗試將屬性文件配置為指定我的項目的 package 但它不起作用。

這是我的屬性文件代碼:

log4j.rootCategory=ERROR, O
log4j.category.com.my.package= DEBUG, FILE, O
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log/logger.log
log4j.appender.O=org.apache.log4j.ConsoleAppender
.... and some layout

當我切換rootCategory = DEBUG時它可以工作,但正如我所說,它也在調試 hibernate 和 spring。

是的,您必須為每個 package 指定日志級別:

log4j.logger.org.hibernate=info
log4j.logger.org.springframework=info
log4j.logger.com.yourapplication=debug

請注意,您應該從類別(過時)切換到記錄器。 所以log4j.rootLogger=...

您需要知道實際編寫內容的記錄器的名稱......最簡單的方法是將根類別設置為錯誤:

log4j.rootCategory=ERROR, 0

然后相應地為您的日志設置級別:

log4j.com.your.package=DEBUG...

rootCategory設置為DEBUG會將所有內容都變為DEBUG ,除非您另外專門配置了記錄器。

順便說一句,這不是 hibernate 問題,這與您配置記錄器的方式有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM