使用gradle和log4j2的Spring启动不会记录到文件

时间:2015-07-23 08:39:56

标签: gradle spring-boot log4j2

我已经开始使用spring boot和gradle了,我正在尝试使用log4j2进行日志记录。 我是第一次编译和构建:

gradlew clean build

然后执行jar:

java -jar build/libs/java-apns-notifier-0.1.0.jar

执行jar后,我可以在控制台中看到日志,但在log4j2.xml(D:/temp/logs/apns.log)中提到的文件中没有。在该文件中,我只能看到springframework的日志,但不能看到我的代码 问题是如何使这个简单的场景工作? 我想看到我的日志也出现在日志文件中。

以下是源代码:Java Apple Push Notification Service Notifier

重要!
我最近注意到日志出现了。但只有在我杀死这个过程之后。 所以在这里澄清一下发生了什么:

  1. 运行jar:
  2.   

    java -jar build / libs / java-apns-notifier-0.1.0.jar

    - >日志文件中没有任何内容

    1. 在命令行中杀死进程。
      - >日志显示在日志文件

1 个答案:

答案 0 :(得分:1)

由于您正在使用

,因此日志需要一些时间才能显示在您的日志文件中
immediateFlush="false"

如果将其切换为 true ,您会看到日志立即显示,但可能会影响应用程序的性能。

默认情况下, bufferedIO true bufferSize 8192字节。这意味着只有在缓冲区有8192个字符后才会将日志写入磁盘。

有关详细信息,请参阅https://logging.apache.org/log4j/2.x/manual/appenders.html