Как настроить log4j для регистрации различных уровней журнала для разных файлов для одного и того же регистратора
У меня есть нормальный журнал уровня INFO для приложения. Мне нужно дополнительно регистрировать все события уровня ERROR для разделения журнала ошибок. Я использую конфигурацию следующим образом:
Эта конфигурация регистрирует только ошибки. Если я сначала поставлю регистратор уровня информации, тогда он будет регистрироваться только в общем приложении, но журнал ошибок не будет работать. Я хотел бы, чтобы они оба работали.
- Могу ли я регистрировать операции с файлами (создавать / изменять / удалять) в Windows?
- Hibernate 5 java.lang.NoSuchMethodError org.jboss.logging.Logger.debugf
- Печать полного стека вызовов на printStackTrace ()?
- Как настроить log4j2 RollingFileAppender?
- Запись вывода «tail -f» в другой файл
- Можете ли вы настроить log4net в коде вместо использования файла конфигурации?
- Как я могу регистрировать все запуски процессов в Linux
- Наиболее полезные конфигурации NLog
- Как отправить записи журнала на удаленный сервер, на котором запущен journald (systemd)
- Как распечатать текущую трассировку стека в .NET без каких-либо исключений?
- как сохранить возвращаемое значение при входе в scala
- Инъекция зависимостей и именованные логины
- Отключить ведение журнала HttpClient
Что вам нужно сделать, это иметь одно определение
с определенным уровнем INFO, но в двух ваших определениях appender вы устанавливаете соответствующие пороговые значения, например
Затем вы добавляете оба приложения в свой регистратор:
Записи журнала, которые теперь отправляются в журнал, будут отправляться обоим приложениям, но поскольку они имеют разные независимые пороговые значения, приложение ERROR_FILE будет регистрировать только ERROR и выше.
Полное рабочее решение, включая дату в имени файла:
Вам нужно использовать фильтры log4j:
Таким образом, вы можете создавать файлы журналов для каждого уровня отдельно.
Если вы используете log4j2 и config с XML-форматом, ThresholdFilter – хорошее решение.
Вот пример:
%d %-5p %m%n %d %-5p %m%n %d %-5p %m%n %d %-5p %m%n