Что означает значение порога в Log4J?
Привет всем У меня есть свойства 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
Заранее спасибо
Ответы
Ответ 1
У вас есть две вещи: регистратор и приложение. К сожалению, вы выбрали одно и то же имя для обоих, что не делает его очень ясным.
Минимальный уровень журнала установлен для предупреждения, что означает, что все, что вы регистрируете с помощью этого регистратора, который не имеет хотя бы уровня предупреждения, будет проигнорирован.
Как только сообщение принимается регистратором, оно отправляется одному или нескольким приложениям (в файл, на консоль, на почтовый сервер и т.д.). Каждый из этих добавок может определять порог. Например, вы можете ограничить сообщения в консоли ошибками, но принять предупреждения в файле журнала.
Ответ 2
Порог - это второй фильтр для регистрации сообщений
например:
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 для более подробной информации
Ответ 3
Уровни регистрации: TRACE
, DEBUG
, INFO
, WARN
, ERROR
и FATAL
. Вы сможете выбрать, что регистрировать на каком уровне кода в зависимости от серьезности. Например, у вас будет возможность регистрировать вход и выход из методов, но вы можете зарегистрироваться на уровне DEBUG
. Это поможет вам отладить код, поскольку по умолчанию он будет выводиться на консоль (включен консольный консоль по умолчанию). При переходе на производство вы можете увеличить порог до ERROR
и не позволять приложению распечатывать не очень полезные сведения о консольных или журнальных файлах.
Ответ 4
Простое сопоставление файла конфигурации свойств с потоком сообщений журнала. (Я спрятал несколько строк конфигурации, чтобы свести к минимуму)
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
- Регистрация минимального уровня, которую регистратор принимает из приложения.
- Минимальный уровень входа в приложение, который решает, что будет написано
** В наследовании и аддитивности есть кое-что более сложное, но сначала вы должны начать с простых и простых вещей.