Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Log4j2不';不能将日志写入文件?_Java_Log4j2 - Fatal编程技术网

Java 为什么Log4j2不';不能将日志写入文件?

Java 为什么Log4j2不';不能将日志写入文件?,java,log4j2,Java,Log4j2,这是我的配置log4j2.xml,带有文件路径-src/com/tarasiuk/task\u 01/log/dataLogger.log: %d{YYYY-MM-dd HH:MM:ss}[%t]级别:%-7p类:%c{1}:%-5L-%msg%n src/com/tarasiuk/task_01/log/dataLogger.log 我所做的: 将path更改为日志文件,从src/com/tarasiuk/task\u 01/log/dataLogger.log更改为com/tarasiu

这是我的配置
log4j2.xml
,带有文件路径
-
src/com/tarasiuk/task\u 01/log/dataLogger.log


%d{YYYY-MM-dd HH:MM:ss}[%t]级别:%-7p类:%c{1}:%-5L-%msg%n
src/com/tarasiuk/task_01/log/dataLogger.log

我所做的:

  • path
    更改为日志文件,从
    src/com/tarasiuk/task\u 01/log/dataLogger.log
    更改为
    com/tarasiuk/task\u 01/log/dataLogger.log
    -无结果
  • 中的
    级别从
    debug
    更改为
    info
    -无结果

  • 日志被输出到控制台-这是正常的。但是为什么
    Log4j2
    不将日志
    写入文件

    尝试使用下面的appender

    可能是在您的情况下,它无法从属性获取路径,所以我只提供了名称。 所以,它会自动地在和应用程序相同的路径上创建文件

    <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>
    
    
    

    这将对您有所帮助。

    @n199a现在只需尝试使用静态路径即可。只需将绝对路径task01/log/dataLogger.log复制到输入文件名字段。如果可行,请尝试使用/task_01/src/log4j2.xml中的property.log4j2.xml,并在/task_01/src/dataLogger.log中成功创建文件“dataLogger.log”。但是我需要在我的Ubuntu.absolute path
    /home/n199a/Documents/java/workspace/2_epam_工业编程_java/task_01/src/com/tarasiuk/task_01/log/dataLogger.log中的/src/com/tarasiuk/task_01/log/log/dataLogger.log中创建文件“dataLogger.log”—它成功了。但是需要在
    /src/com/tarasiuk/task\u 01/log/dataLogger.log
    中使用../src/com/tasiukit的魔法,只需在
    IDEA->copy->Path from content root
    中点击文件
    dataLogger.log
    。结果-
    src/com/tarasiuk/task\u 01/log/dataLogger.log
    。奇怪的是,当我用手键入路径时,它不起作用。复制它-它起作用了。成功了!非常感谢。