Java 在log4j中,是否有一种基于时间戳记录错误的方法?

Java 在log4j中,是否有一种基于时间戳记录错误的方法?,java,log4j,Java,Log4j,log4j是根据级别记录错误。是否有基于时间戳记录错误的方法?log4j可以配置为使用行中的时间戳进行记录。至少我想你是这么问的 在应用程序中使用%d 现在我明白了:log4j是异步的,所以您可能会发现时间戳不正常 如果您想要同步日志记录,我相信这是可能的,但速度较慢。如果您使用log4j记录到文件,则在创建日志记录事件时会创建时间戳。因此,当调用(debug,info,…)方法时。如果有多个线程在运行,则可能是消息没有按照与时间戳相同的顺序写入文件 如果需要按顺序对日志行进行排序,请使用JDB

log4j是根据级别记录错误。是否有基于时间戳记录错误的方法?

log4j可以配置为使用行中的时间戳进行记录。至少我想你是这么问的

在应用程序中使用%d

现在我明白了:log4j是异步的,所以您可能会发现时间戳不正常


如果您想要同步日志记录,我相信这是可能的,但速度较慢。

如果您使用log4j记录到文件,则在创建日志记录事件时会创建时间戳。因此,当调用(debug,info,…)方法时。如果有多个线程在运行,则可能是消息没有按照与时间戳相同的顺序写入文件


如果需要按顺序对日志行进行排序,请使用JDBC Appender并将日志记录到数据库中。然后您可以查询数据库并按时间戳排序。

谢谢Nathan。2009-02-19 14:47:01288调试[com.catalystwms.core.persistence.TransactionContext]2009-02-19 14:54:27429信息[com.catalystwms.tms.services.background.purge 2009-02-19 14:47:01288调试…..我的问题是我们可以根据时间戳优先级记录消息吗?日志条目按条目的顺序执行(这将使时间戳有序)如何准确地确定时间戳的优先级?我们可以制作1.2009-02-19 14:47:01288调试2.2009-02-19 14:47:01288调试3.2009-02-19 14:54:27429信息[com.catalystwms.tms.services.background.purge]如果您正在寻找一种方法来查看特定操作发生的时间,则可以完成该操作,但不能使用log4j。它不会修改以前输入的日志条目。您可以根据日志描述([com.cata…purge])将这些内容放入数据库并分组谢谢。任务是按顺序时间戳执行的。我不知道为什么时间戳不按顺序。