[英]How to exclude a single Class from a Log4j Logger / Appender?
我有一個包“com.example”。 這個包有五個類。 我想將其中四個類記錄到一個文件中,但排除第五個類。
我可以編寫四個記錄器,例如logger name =“com.example.Class1”,並將相同的appender添加到所有四個記錄器。 有沒有更簡單的方法(讓我們認為我有100個而不是5個班級)?
還有其他一些像這樣的問題。 但其他人只想排除一個類來記錄這個類。 這可以使用addivity標志來解決。 但我認為可加性標志在這里不起作用,因為我不想記錄第五類,而是所有其他類?!
希望有人可以幫幫我嗎?
只需將第五個類配置為使用日志級別OFF:
log4j.logger.com.example=INFO, MyAppender
log4j.logger.com.example.FifthClass=OFF
實際上我建議你不要把它設置為OFF
,而是設置為FATAL
。 ERROR
甚至是WARN
。
想要忽略來自某些類的日志記錄的主要原因通常是它是否記錄太多(超過有用並且難以讀取日志)。 但是,大多數時候你仍然想知道某些事情是否真的錯了。 通過將其設置為ERROR
您仍然可以看到真正有問題的情況,但不會被大量的INFO
日志語句所困擾。
(僅僅是為了完整答案)
您也可以嘗試通過設置log4j.xml文件來實現。 只需記錄整個包,並以不同方式記錄FifthClass。
<logger name="com.example">
<level value="INFO"/>
</logger>
<logger name="com.example.FifthClass">
<level value="FATAL"/>
</logger>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.