我编写了一个使用记录数据和时间戳的应用程序。为此,我有一个对象,负责知道当前时间(过去,但仍然是单调的)。
我希望配置log4j2,这样打印的时间戳将来自此对象,而不是来自计算机的计时器。可能吗?
谢谢。
答案 0 :(得分:1)
是的,这是可能的。
您可以指定系统属性" log4j.Clock"使用实现org.apache.logging.log4j.core.helpers.Clock
接口的类的完全限定类名。
请参阅此处的文档:http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync
从版本RC1开始,这仅适用于异步记录器,但在下一版本中,这适用于所有配置。请注意,在下一版本中,core.helpers包已移至core.util。
有关详细信息,另请参阅https://issues.apache.org/jira/browse/LOG4J2-628。