我使用tomcat
在spring-boot
上运行了一个网络应用程序。
如何动态更改log4j2.xml
日志记录路径? (例如,通过jvm args,属性文件,或者)?
到目前为止,我按如下方式配置了log xml:
<Configuration>
<Properties>
<property name="path">${bundle:application:log.path}</property>
</Properties>
</Configuration>
使用配置文件:
#application.properties:
log.path=d:/
现在我想动态强制日志路径到d:/log-test
,但不必修改我的war
文件。因为在重新部署时我会失去任何手动配置。
那么我怎样才能提供不同的日志记录路径?
我想在同一台机器上运行多个配置文件,因此环境或系统属性对我来说没用。
答案 0 :(得分:2)
答案 1 :(得分:1)
已经建议使用$ {sys:LOG_PATH}可能是最好的解决方案。你不必修改战争,但你必须为dev运行一个tomcat,并为测试运行一个单独的tomcat。然后放置设置CATALINA_OPTS以在setenv.sh或setenv.bat中包含-DLOG_PATH = / my / log / path。无论如何,让一个tomcat同时运行真的不是很有意义。