Weblogic 12c 中未选取 Log4j2 文件位置

Log4j2 File location not picked up in Weblogic 12c

我正在 Weblogic 12c 上部署一个 EAR 应用程序。我正在寻找配置 log4j2 并将以下内容放入 web.xml(Web 项目的)不起作用(应用程序未拾取文件)。

<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>file:///webapps/apps/appName/log4j2.xml</param-value>
</context-param>

我收到错误消息

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

如果我在 weblogic 启动脚本 (-Dlog4j.configurationFile=path/to/log4j2.xml) 中提到 log4j2.xml 文件的路径,它会选择 log4j 文件。如何让 <context-param> 设置生效?我是 Eclipse (STS) 中的 运行 weblogic。

再次检查:您是否将 log4j-web 依赖项添加到类路径中?否则上下文参数将不起作用。

另外,请注意指定的 file: 路径将相对于 Web 上下文根进行解析。本质上它将 return ServletContext.getResource(path).

的结果

如果您设置系统 属性 -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE,您也许可以看出问题所在。这会将内部 Log4j2 日志打印到控制台。