Мне было интересно, есть ли способ определить appenders (файл, консоль и т. Д.) В другом файле, чем тот, который определяет фактические свойства ведения журнала. Идея возникла из системы, которую я разрабатываю, и у нас есть следующее требование: Различные версии системы будут развернуты на одном сервере. Поэтому, чтобы не поддерживать разные файлы свойств log4j, все они будут устанавливать одни и те же свойства и различаются в файловых добавках (чтобы узнать, какой журнал был записан из какой версии системы). Заранее благодаренLog4j различные .property файлы для Appenders
ответ
Вы можете использовать DOMConfigurator или PropertyConfigurator для загрузки настроек log4j из внешнего файла. Вы можете вызвать этот API несколько раз под управлением, чтобы загрузить настройки из разных источников.
В вашем случае вы можете динамически загружать данные из Appender из другого файла свойств на основе версии. Как и суффикс некоторого идентификатора версии для имени файла и его общий путь.
Если каждая версия работает на различных процессах VM (на разных портах), вы можете добавить аргумент к виртуальной машине. например:
-Dmysystem.version=1.0.1
Если вы используете конфигурацию XML:
<param name="file" value="/logs/system.v${mysystem.version}.log" />
Из если вы используете свойства:
log4j.appender.ROLL.File=/logs/system.v${mysystem.version}.log
В обоих случаях, сгенерированный файл может быть:
/logs/system.v1.0.1.log
Таким образом, вы n поддерживает один файл конфигурации и динамические имена файлов.
К сожалению, это не так, поскольку они запускаются на разных виртуальных хостах и не разных портах. – airmil
К счастью, это может сработать, даже для каждого файла вы должны добавить имя хоста. –
- 1. Несколько приложений log4j appenders
- 2. log4j в несколько appenders
- 3. Зависимость между log4j appenders
- 4. Поддерживает ли logback log4j appenders?
- 5. Log4J конкретные уровни для определенных файлов - appenders
- 6. Как правильно Log4j, закрывая все Appenders и, следовательно, файлы
- 7. Log4j: Не удается отправить почту с помощью LOG4J SMTP Appenders
- 8. Grails log4j diffrerent appenders согласно файлам
- 9. Log4J multiple appenders с разными порогами
- 10. Log4j, отключить appenders в зависимости от среды
- 11. Использование log4j в Tomcat с различными Appenders
- 12. Hibernate: log4j: не WARN Нет appenders может быть найдено
- 13. Различные конфигурации log4j для сонара
- 14. Нет appenders не может быть найдено для регистратора (org.springframework.web.context.ContextLoader)
- 15. Log4j .append = true property fail
- 16. Настройка Appenders
- 17. log4j различные уровни детализации
- 18. Различные пути файла Log4j для каждого webapp
- 19. log4j не создает файлы журнала
- 20. Программным создавать различные файлы журналов с помощью log4j
- 21. log4j: WARN Нет appenders не может быть найдено для регистратора log4j: WARN Пожалуйста, инициализировать систему log4j правильно
- 22. записывать различные уровни журналов в разные файлы с log4j
- 23. Различные макеты для уровней журнала в Log4j
- 24. Настройка Eclipse для Log4j
- 25. Перехода от log4j 1.2 до log4j 2 - как получить список всех appenders и прокатной стратегию файла
- 26. Log4J для каждого контекста
- 27. log4j: Как я могу вести журналы в разные файлы для cron и для webservice?
- 28. Log4j2 RollingFile appenders сталкивающегося
- 29. Log4Net Retrieve Appenders Programatically
- 30. <log4j:. WARN Нет appenders не может быть найдено для регистратора (org.springframework.web.servlet.DispatcherServlet)>
Работает ли каждая версия в отдельной JVM? –
Да, но не на разных контейнерах. – airmil