[英]What does threshold mean in Log4J?
我有一個類似於下面的log4j
屬性。 TextProcessor.log
記錄的TextProcessor.log
都高於 WARN 級別。 我不明白這里設置的調試閾值。 有人可以解釋閾值的作用嗎?
log4j.logger.TextProcessor=warn,TextProcessor
log4j.appender.TextProcessor=org.apache.log4j.RollingFileAppender
log4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.log
log4j.appender.TextProcessor.MaxFileSize=10MB
log4j.appender.TextProcessor.MaxBackupIndex=10
log4j.appender.TextProcessor.Threshold=debug
log4j.appender.TextProcessor.layout=org.apache.log4j.PatternLayout
log4j.appender.TextProcessor.layout.ConversionPattern=[%d] [%5p] (%F:%L) - %m%n
這里有兩件事:記錄器和附加器。 不幸的是,您為兩者選擇了相同的名稱,這並不十分清楚。
記錄器的最低級別設置為警告,這意味着您使用該記錄器記錄的所有低於警告級別的內容都將被忽略。
一旦消息被記錄器接受,它就會被發送到一個或多個附加程序(到文件、控制台、郵件服務器等)。 這些附加程序中的每一個都可以定義一個閾值。 例如,您可以將控制台中的消息限制為錯誤,但接受日志文件中的警告消息。
閾值是要記錄的消息的第二個過濾器
例如:
log4j.logger.TextProcessor=Debug,TextProcessor , InfoLogger
.
.
.
log4j.appender.TextProcessor.Threshold=Error
如果 Logger 設置為 DEBUG 級別並且 appender Threshold 設置為 Error,那么使用 appender TextProcessor 只會記錄錯誤和更高嚴重性的消息。
閾值的使用是,您可以定義具有不同閾值級別的不同附加程序,例如在上面提到的示例中,您還可以啟用啟用信息級別消息日志記錄的 InfoLogger
log4j.logger.TextProcessor=Debug,TextProcessor , InfoLogger
.
.
.
log4j.appender.InfoLogger.Threshold=INFO
要了解級別,log4j 中有以下級別的日志記錄:
FATAL: shows messages at a FATAL level only
ERROR: Shows messages classified as ERROR and FATAL
WARNING: Shows messages classified as WARNING, ERROR, and FATAL
INFO: Shows messages classified as INFO, WARNING, ERROR, and FATAL
DEBUG: Shows messages classified as DEBUG, INFO, WARNING, ERROR, and FATAL
TRACE : Shows messages classified as TRACE,DEBUG, INFO, WARNING, ERROR, and FATAL
ALL : Shows messages classified as TRACE,DEBUG, INFO, WARNING, ERROR, and FATAL
OFF : No log messages display
前往網址了解更多詳情
日志記錄的級別是TRACE
、 DEBUG
、 INFO
、 WARN
、 ERROR
和FATAL
。 您將能夠根據嚴重性選擇在代碼中的哪個級別記錄的內容。 例如,您將能夠記錄方法的進入和退出,但可以選擇在DEBUG
級別進行記錄。 這將幫助您調試代碼,因為默認情況下它會在控制台上打印出來(默認控制台 appender 是打開的)。 在進入生產環境時,您可以將閾值增加到ERROR
並防止應用程序在控制台或日志文件上打印出不太有用的詳細信息。
為您提供從屬性配置文件到日志消息流的簡單映射。 (我隱藏了一些配置行以最小化)
log4j.rootLogger=ALL, stdout
log4j.logger.com.xyz=INFO, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
...
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.Threshold=WARN
...
要了解它是什么,您應該知道:
** 關於繼承和可加性有一些更復雜的事情,但您應該首先從基本和簡單的事情開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.