gpt4 book ai didi

java - 我的自定义 Log4j2 XML 配置文件 Java 中的记录时间不正确

转载 作者:行者123 更新时间:2023-12-02 12:10:39 27 4
gpt4 key购买 nike

我是 log4j2 的新手。以前我使用的是log4j。我迁移到第 2 部分的原因是为了异步日志记录。在搜索互联网后,我能够编写一个配置文件,该文件实际上创建两个日志文件“Errors.log”和“Messages.log”。现在的问题是:我将与距离我很远的服务器进行通信。我编写了一个与服务器通信并发送请求的客户端,然后服务器向我发送响应。在任何情况下,请求至少需要 10 毫秒才能到达服务器并从服务器获取响应。但在我的日志文件中,显示发送到服务器的请求和从服务器接收的请求是同时发生的(相同的毫秒)。我正在使用异步日志记录。这是否导致错误的时间戳?或者我使用的策略会造成这些问题?

下面是我的 Log4j2 XML 配置文件:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn">
<Appenders>
<File name="my_file_appender" fileName="LOG4j_LOGS/Errors.log" immediateFlush="false" append="false">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n</Pattern>
</PatternLayout>
</File>
<Async name="async_appender">
<AppenderRef ref="my_file_appender" />
</Async>
<!-- file appender -->
<RollingFile name="Error-log" fileName="LOG4j_LOGS/Messages.log"
filePattern="LOG4j_LOGS/Messages-%d{yyyy-MM-dd}.log">
<!-- log pattern -->
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n</Pattern>
</PatternLayout>
<!-- set file size policy -->
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
<DefaultRolloverStrategy max="25"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="Error-log" level="info" additivity="false">
<appender-ref ref="Error-log" level="debug"/>
</Logger>
<Root level="info" includeLocation="false">
<AppenderRef ref="async_appender"/>
</Root>
</Loggers>
</Configuration>

任何人都可以检查我的配置文件吗?我想要的只是创建两个单独的日志文件,一个用于存储信息消息,另一个用于存储错误。每次我运行应用程序时,这都应该创建一个新文件,并且不应该删除以前的日志。日志的大小可以是任何大小。如果超过大小,则应创建一个新文件并将数据写入其中。无论我运行应用程序多少天,都需要存储每日日志,并且整个过程必须异步完成。

我还使用以下虚拟机选项进行异步日志记录:

 -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

最佳答案

当日志记录异步完成时,您将日志消息记录到单独的队列中。它们在将日志写入磁盘的后台线程处理时带有时间戳(因为时间戳是 Appender 模式的一部分)。所以只保留顺序。时间戳可能略有不同。

参见https://logging.apache.org/log4j/2.x/manual/async.html了解更多信息。

关于java - 我的自定义 Log4j2 XML 配置文件 Java 中的记录时间不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578015/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com