单服务器多Web应用场景下如何无Java代码配置独立外置log4j2.properties文件
单个Web应用外置Log4j2配置无代码实现方案
存在不需要编写Java代码的配置方式,属于Log4j2官方支持的标准Web环境配置逻辑,不会依赖私有API,也不会和同服务器下其他应用的日志配置冲突,具体操作如下:
- 方案1:修改应用内配置
直接在当前Web应用的WEB-INF/web.xml中新增log4jConfiguration上下文参数即可,配置示例:
注意参数值的本地文件路径需要加<context-param> <param-name>log4jConfiguration</param-name> <param-value>file:/你的外置配置绝对路径/log4j2.properties</param-value> </context-param>file:前缀,推荐使用绝对路径避免不同容器的路径解析差异。 - 方案2:无需改动应用包,容器侧配置(更适合客户外置需求)
如果不想修改原应用的WAR包内容,可以直接在Web容器的对应应用上下文配置中加参数,以常用的Tomcat容器为例:
进入Tomcat的conf/Catalina/localhost/目录,新建和应用访问上下文同名的xml文件(比如应用访问路径是/oa就新建oa.xml),添加如下内容:
配置完成后重启应用即可生效,不需要改动原应用的任何代码或内置配置。<Context> <Parameter name="log4jConfiguration" value="file:/你的外置配置绝对路径/log4j2.properties" override="false"/> </Context>
内容的提问来源于stack exchange,提问作者Govinda Pandey
相关产品推荐
相关产品推荐

