Привет Я использую slf4j над log4j2. Как изменить динамический путь журнала?Как изменить путь журнала в log4j2 во время выполнения
Мой log4j2.xml выглядит
<Properties>
<Property name="home">/path/logs</Property>
</Properties>
<Appenders>
<RollingFile name="default" fileName="${home}/error.log"
filePattern="...">
.......
</RollingFile>
</Appenders>
Есть ли способ, что я могу изменить путь, где журналы будут записаны во время выполнения?
Я попытался использовать системное свойство в пути и установить его во время выполнения, но log4j2 не учитывает обновленное значение. Подход к системным свойствам -
<RollingFile name="default" fileName="${sys:home}/error.log"
filePattern="...">
(In java class: System.setProperty("home","/newPath"))
Требуется ли реконфигурация. Я не вижу каких-либо открытых сервисов slf4j для перенастройки.
Какие LogManager ты говоришь? Ни «org.apache.logging.log4j.LogManager», ни «org.apache.log4j.LogManager» не имеют метода «getLoggerRepository». Пожалуйста, укажите пакет –
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/LogManager.html#getLoggerRepository() – doublep
О, вы используете log4j2, пропустили этот подлый 2. Никогда не задумывайтесь. – doublep