我的系统配置是: Windows上的Tomcat 9.0.14 Java 8 春季靴 log4j2
在我的catalina.properties中,定义了以下属性:
server_log_root=D:/Bharath/Projects/Logs
在我的log4j2.xml文件中,我尝试按以下方式访问上述属性:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="LOG_HOME">${sys:server_log_root}</Property>
<Property name="CONVERSION_PATTERN">%d{yyyy-MM-dd HH:mm:ss,SSS} tId=%X{TRANSACTION_ID} %-5p %C{1}:%L - %m%n</Property>
</Properties>
<Appenders>
<Console name="CONSOLE_APPENDER" target="SYSTEM_OUT">
<PatternLayout pattern="${CONVERSION_PATTERN}" />
</Console>
<File name="API_SERVICES_FILE_APPENDER" fileName="${LOG_HOME}/api_services_log.log">
<PatternLayout pattern="${CONVERSION_PATTERN}" />
</File>
</Appenders>
<Loggers>
<Root>
<AppenderRef ref="CONSOLE_APPENDER" level="debug"/>
</Root>
<Logger name="API_SERVICES_FILE_LOGGER" level="debug" additivity="false">
<AppenderRef ref="API_SERVICES_FILE_APPENDER" />
</Logger>
</Loggers>
</Configuration>
在运行我的应用程序时,未在文件夹(D:/ Bharath / Projects / Logs)中创建日志。
我尝试将文件夹路径样式从/更改为\,但是还是没有运气。 此外,我尝试使用以下方法,但没有用:
$${sys:server_log_root}
${env:server_log_root}
$${env:server_log_root}
${server_log_root}
$${server_log_root}
有人可以帮助我吗? 预先感谢!
此致, 巴拉斯
答案 0 :(得分:0)
我通过将属性作为环境变量放在“ context.xml”(而不是catalina.properties)中来解决了此问题