log4j2.xml配置,导致启动报错

项目中遇到问题,当使用tomcat启动时,没问题;当使用内置tomcat启动时却报错,找不到日志路径。

变量位置:

<properties>
<property name="LOG_HOME">${sys:catalina.base}/logs</property>
<property name="PATTERN">%-5level^|%d{ISO8601}^|app-service^|%msg%n
</property>
<property name="CONSOLE_PATTERN">%d{HH:mm:ss,SSS} %-5level %m%n
</property>
</properties>

catalina.base是tomcat的变量,当使用外置的tomcat会在catalina.bat或者catalina.sh中初始化这个变量,表示tomcat的基础路径,而内置tomcat没有初始化这个变量,通过查看官网文档,找到两个解决的办法:

1.可以在eclipse的启动选项中添加变量,如下图

2.可以为该变量增加默认值,表达式为${Prefix:propertiesname:-defaultValue}用:-表示后边的是默认值,将${sys:catalina.base}改为${sys:catalina.base:-d:}(这里用d盘做日志目录)

相关文档参见log4j2官方文档:

https://logging.apache.org/log4j/2.x/manual/configuration.html#XML

posted on 2019-05-18 19:22  一叶落知天下秋  阅读(1716)  评论(0编辑  收藏  举报