java - 为什么 Log4j2 不将日志写入文件?
问题描述
这是我的log4j2.xml
配置path to file
- src/com/tarasiuk/task_01/log/dataLogger.log
:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="FORMAT_MESSAGE">
%d{YYYY-MM-dd HH:mm:ss} [%t] Level:%-7p Class:%c{1}:%-5L - %msg%n
</Property>
<Property name="LOG_FILE">
src/com/tarasiuk/task_01/log/dataLogger.log
</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="${FORMAT_MESSAGE}" />
</Console>
<File name="File" fileName="${LOG_FILE}" append="false">
<PatternLayout pattern="${FORMAT_MESSAGE}" />
</File>
</Appenders>
<Loggers>
<Logger name="org.apache.logging.log4j.test2" level="debug" additivity="false">
<AppenderRef ref="File" />
</Logger>
<Root level="info">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
我所做的:
path
将日志文件从更改src/com/tarasiuk/task_01/log/dataLogger.log
为com/tarasiuk/task_01/log/dataLogger.log
- 没有结果。- 从更改
level
为-没有结果。<Logger>
debug
info
日志输出到控制台 - 没关系。但是为什么Log4j2
不写日志to a file
呢?
解决方案
尝试使用以下附加程序。
可能在您的情况下,它无法从属性中获取路径,所以我只提供了名称。因此,它会自动在与您的应用程序相同的路径上创建文件。
<Appenders>
<File name="dataLogger" fileName="dataLogger.log" append="false">
<PatternLayout pattern="%level - %m%n"/>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%level - %m%n"/>
</Console>
</Appenders>
这将对您有所帮助。
推荐阅读
- javascript - jquery getjson成功功能不起作用
- regex - 编写 bash sed 命令时遇到问题 - 正则表达式匹配
- c - 作为参数传递时结构混乱
- reactjs - 将局部图块渲染为
在反应传单中 - r - 丢弃一个预测类时 randomForest 包的奇怪行为
- powerbi - Power BI Analysis Services 数据源用户名和密码
- javascript - 使用 Angular 跳过焦点或激活禁用的按钮
- reactjs - 为 React Apollo 订阅客户端配置 onSubscriptionData
- html - 设置为“无”的 HTML 图像显示在设置为阻止时不会显示
- php - Foreach 数组只接收最后一个键