Я использую webapp на tomcat
с использованием spring-boot
.Как изменить log4j2 путь регистрации на tomcat?
Как я могу изменить путь регистрации журнала динамически? (например, jvm args, файл свойств, или еще)?
До сих пор я настроил XML журнала следующим образом:
<Configuration>
<Properties>
<property name="path">${bundle:application:log.path}</property>
</Properties>
</Configuration>
с файлом конфигурации:
#application.properties:
log.path=d:/
Теперь я хочу, чтобы динамически заставить LogPath, например, к d:/log-test
, но без изменения моего war
файл. Поскольку при перераспределении я потерял бы любую ручную конфигурацию.
Как я могу предоставить другой путь ведения журнала?
Я хочу запустить несколько профилей на одной машине, поэтому для меня здесь не нужны свойства среды или системы.
Файл войны при развертывании должен получить un-jar'd, и вы должны быть в состоянии напрямую изменить свой файл свойств. Вам просто нужно перезапустить приложение, чтобы log4j снова читал файл свойств. –
@RaviThapliyal - это именно то, что я хочу предотвратить, так как при развертывании новой версии я должен будет каждый раз модифицировать файл войны. не говоря, что коллеги могут пропустить этот важный шаг ... – membersound
Лог-путь редко абсолютный, и это не похоже на то, что он меняет его при каждом развертывании. Окончательный путь, очевидно, будет привязан к вашему репозиторию и отражен в окончательной сборке. Какая польза от внешних значений для файла свойств, если вы все еще чувствуете необходимость переопределить его? Думаю, что делать это после сборки, вроде бы поражает свою цель. –