这是我的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
?
答案 0 :(得分:2)
尝试使用以下附加程序。
在您的情况下,可能无法从属性获取路径,因此我只提供了名称。 因此,它将自动在与您的应用程序相同的路径上创建文件。
<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>
这将为您提供帮助。