В различных средах развёртывания для приложений обычно настраиваются разные уровни ведения журнала. Обычно при разработке используется уровень отладки, а в рабочей среде — уровень ошибок, поскольку вывод на уровне отладки слишком объёмен, и большинство проблем уже решено на этапе разработки. В рабочей среде не так много ситуаций, требующих отладки. Однако если возникает проблема, мы хотим отслеживать журнал, но приложение находится на уровне журнала ошибок, это становится трудно сделать, можно только изменить конфигурацию и перезапустить приложение для решения проблемы.
hentai-logger был разработан для решения этой проблемы. При настройке log4j можно настроить несколько Appender
, каждый из которых имеет свой собственный уровень вывода журнала. Журналы уровня ошибок по-прежнему выводятся в файл прокрутки журнала, а журналы уровня отладки выводятся в cn.org.hentai.logger.core.PhantomAppender
.
При инициализации cn.org.hentai.logger.core.PhantomAppender
он прослушивает порт 1122. Когда есть сетевое соединение с этим портом, PhantomAppender
записывает системные журналы в реальном времени в соединение сети. Если соединения нет, системные журналы будут полностью отброшены. Таким образом, журналы можно просматривать в любое время, не занимая дополнительного места для хранения.
platform.name=hentai
system.name=hentai-logger
# Настройка регистратора log4j.rootLogger = DEBUG, Console, E
# Настройка PhantomAppender
log4j.appender.Console = cn.org.hentai.logger.core.PhantomAppender
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.threshold = DEBUG
log4j.appender.Console.layout.ConversionPattern = [${platform.name}] %d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] [${system.name}] - %c{1} - %m%n
# Настройка имени E
log4j.appender.E = org.apache.log4j.ConsoleAppender
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.threshold = ERROR
log4j.appender.E.layout.ConversionPattern = [${platform.name}] %d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] [${system.name}] - %c{1} - %m%n
log4j.logger.cn.org.hentai = DEBUG
Просто скопируйте все классы.
cn.org.hentai.logger.app.TestApp
, который будет непрерывно выводить журналы, каждые 10 миллисекунд — один журнал отладки и каждую секунду — один журнал ошибок.netcat
или telnet
, чтобы подключиться к порту 1122, например, nc localhost 1122
, и вы сразу увидите журналы, созданные приложением.OutputStream
. Этот Appender
будет иметь полную потерю производительности только при наличии соединения, в остальное время будет только потеря производительности из-за форматирования текста журнала.Appender
всегда поддерживает два потока: один для прослушивания соединений, другой для распределения журналов по соединениям.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )