Что означает порог в Log4J? - PullRequest
       3

Что означает порог в Log4J?

78 голосов
/ 25 февраля 2011

Привет всем У меня есть свойства 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

Заранее спасибо

Ответы [ 4 ]

121 голосов
/ 25 февраля 2011

У вас есть две вещи: регистратор и аппендир. К сожалению, вы выбрали одно и то же имя для обоих, что не очень понятно.

Минимальный уровень регистратора установлен на предупреждение, что означает, что все, что вы регистрируете с помощью этого регистратора, который не имеет хотя бы уровень предупреждения, будет игнорироваться.

Как только сообщение принято регистратором, оно отправляется одному или нескольким приложениям (в файл, на консоль, на почтовый сервер и т. Д.). Каждый из этих дополнений может определять порог. Например, вы можете ограничить сообщения в консоли ошибками, но принимать предупреждающие сообщения в файле журнала.

30 голосов
/ 01 апреля 2014

Порог - это второй фильтр для регистрируемых сообщений

Например:

 log4j.logger.TextProcessor=Debug,TextProcessor , InfoLogger
 .
 .
 .
 log4j.appender.TextProcessor.Threshold=Error

если Logger установлен на уровне DEBUG, а для порога appender установлено значение Error, тогда только с приложением TextProcessor appender будут регистрироваться сообщения об ошибках и сообщения с более высокой серьезностью.

Использование параметра «Порог» означает, что вы можете определить другого аппендера с различными пороговыми уровнями, например, в вышеупомянутом примере вы также можете включить InfoLogger с включенной регистрацией сообщений на уровне Info

 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

перейдите на URL для более подробной информации

25 голосов
/ 25 февраля 2011

Уровни регистрации: TRACE, DEBUG, INFO, WARN, ERROR и FATAL.Вы сможете выбрать, что регистрировать на каком уровне в коде в зависимости от серьезности.Например, у вас будет возможность регистрировать вход и выход из методов, но вы можете выбрать вход на уровне DEBUG.Это поможет вам отладить код, так как по умолчанию он будет распечатываться на консоли (по умолчанию включен консольный приложение).Отправляясь в производство, вы можете увеличить порог до ERROR и запретить приложению печатать не очень полезные сведения о консоли или файлах журнала.

10 голосов
/ 07 октября 2017

Простое сопоставление файла конфигурации свойств с потоком сообщений журнала. (Я спрятал несколько строк конфигурации, чтобы свести к минимуму)

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
...

schema of logging from settings above

Чтобы понять, что это, вы должны знать, что:

  • Уровни журналирования увеличиваются при извлечении слева: TRACE, DEBUG, INFO, WARN, ERROR и FATAL
  • Минимальный уровень регистрации, который регистратор принимает из приложения.
  • Минимальный уровень входа в приложение, который решает, что будет написано

** Есть кое-что более сложное в наследовании и аддитивности, но сначала вы должны начать с простых и простых вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...