java - 在运行时在 log4j.properties 文件中传递 appender.file 值
问题描述
我正在尝试传递创建日志文件的路径。
String logsPath="C:/";
System.setProperty("logs", logsPath);
log.debug("Debug");
log.info("Info");
我的logs.properties
文件如下所示:
log4j.appender.X=org.apache.log4j.FileAppender
log4j.appender.X.File=$(logs)/logs.log
问题:-程序运行良好,没有任何错误,但没有打印日志。
请帮忙。
解决方案
原因是 log4j 的初始化速度比
System.setProperty ("logs", logsPath);
line 快。
使用以下选项运行进程:-Dlogs="C:/"
示例:java -Dlogs="C:/" MyClass
替换
$(logs)
为${logs}
。
推荐阅读
- assembly - 编码 8 位操作数大小?是否有类似 16 位的前缀?
- python - 如何在“n”个块中使用巨大的 csv 数据?
- kotlin - 科特林?vs ?.let {}
- cordova - 如何在 Cordova 中关闭应用程序后启动服务
- mysql - 是否可以通过将所需列从一个添加到另一个来避免两个表上的缓慢连接,还是我的关系不好?
- node.js - 如何将单引号内的参数传递给 postgres 查询?
- php - 登录页面不会将我移动到 php 中的欢迎页面
- reactjs - 如何过滤 React 中显示的产品数量?
- maven - 在 Eclipse 中未找到处理 avro-maven-plugin:1.8.2:idl-protocol 的市场条目。请参阅帮助以获取更多信息
- shopify - 如何使用 Liquid 获取文本文件的内容