java - WebSphere Liberty 在 WAR 的类目录中找不到 log4j.properties
问题描述
如果我将 WEB-INF/classes 之外的文件移动到通过以下方式手动加载的目录中:
<library id="global">
<folder dir="C:\Temp" />
</library>
那么一切都很好。从我正在阅读的所有内容来看,将属性文件存储在 WAR WEB-INF/classes 目录中应该足够好,但它不起作用。
以下是 WLP 的详细信息:
product = WebSphere Application Server 20.0.0.4 (wlp-1.0.39.cl200420200401-1714)
wlp.install.dir = C:/IBM/WASv9_Liberty/
java.home = C:\Temp\OpenJDK\jdk-10+44_windows-x64_bin_ri.tar\jdk-10+44_windows-x64_bin_ri\jdk-10
java.version = 10
java.runtime = OpenJDK Runtime Environment (10+44)
os = Windows 10 (10.0; amd64) (en_US)
process = 1948@DEV-WIN10-221
有什么想法吗?谢谢。
[编辑]由于不工作,我看到了一些事情:
[err] log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
[err] log4j:WARN Please initialize the log4j system properly.
[err] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
我没有加载任何附加程序,也没有加载日志记录级别。
当我将属性文件从 classes 目录复制到 C:\Temp 目录时,log4j:WARN 消息从日志中消失,并且 appenders/logging 级别再次开始工作。
解决方案
你有没有机会使用 MAVEN 来构建你的 WAR 文件?
对于 MAVEN 构建,必须将 log4j 属性文件放在src/main/resources文件夹下,除非通过 java 系统属性 -Dlog4j.configurationFile=file:/path/to/log4j2.xml 显式配置
推荐阅读
- eclipse - Eclipse 表达式视图中的 gdb 命令
- tensorflow - 从 Tensorflow 2.0 中加载的 saved_model 访问中间层
- maven - 超时限制后未调用 Spring Boot Hystrix 回退方法
- python - 在 AWS EMR 上的 zip 文件中提交 pyspark 支持 sql 文件
- python - Python 机器学习脚本中的内存错误
- excel - 向 SmartArt 节点添加超链接
- python - 迭代文件并将值添加到 python 字典
- javascript - JSON 对象数组。按名称对对象值进行分组
- macos - 如何修复 Catalina 上的 Apache 错误:403 Forbidden / Client denied by server configuration
- typescript - 如何将 ES 用户模块(用于渲染器进程)导入 Electron 主进程