1. ホーム
  2. java

[解決済み] Log4Jにおけるthresholdの意味とは?

2023-05-05 06:06:04

質問

私は log4j プロパティに以下のようなものがあります。ログインしているもの全て 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

どのように解決するのですか?

ロガーとアペンダーの2つがあります。残念ながら、あなたは両方に同じ名前を選んだので、あまり明確ではありません。

ロガーの最小レベルは warn に設定されています。これは、少なくとも warn レベルを持たない、このロガーで記録するすべてのものが無視されることを意味します。

いったんメッセージがロガーによって受け入れられると、1つまたは複数のアペンダー(ファイル、コンソール、メールサーバーなど)に送信されます。これらのアペンダーはそれぞれ閾値を定義することができます。たとえば、コンソールでのメッセージをエラーに制限し、ログファイルでの警告メッセージを受け入れることができます。