Java Util Logger 写入同步

标签 java logging synchronization java.util.logging

通常在应用程序中(以 web 应用程序为例)我们有一个在启动期间创建的记录器实例。它甚至可以是单例,这无关紧要。重要的是整个应用程序只有 1 个实例。我们使用 java.util.logger

现在想象一下,您有来自两个不同用户的两个请求,它们抛出异常,我们正在记录那些被写入日志文件的请求。这两个不同的请求对日志文件的写入是否以某种方式同步?或者我们是否需要显式同步它们,因为我发现在极少数情况下我们得到的日志在 tomcat 日志文件中的两个请求之间全部混在一起?

我并不完全关心这里的因果关系,只是两条日志消息的分离。

最佳答案

您不需要任何同步,引用 JavaDoc of Logger :

All methods on Logger are multi-thread safe.

请注意,来自不同线程的单独调用仍然可以交错。这只是意味着您不会看到一条消息被另一条消息打断和分割。

关于Java Util Logger 写入同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14211629/

相关文章:

go - 如何使用 WaitGroup 确保 goroutines 在 for 循环中完成?

tomcat - 如何从部署在tomcat上的应用程序获取日志到我的电脑

synchronization - 什么时候应该使用自旋锁而不是互斥锁?

java - 如何在java SE中获取接入点/路由器的本地IP

java - 我的 'if' 语句无法正常工作

mysql - mysql中为什么要将日志文件和bin-log文件存放在不同的路径或磁盘上

java - 使用 SVNKit 从存储库的特定目录获取日志

带有栅栏和获取/释放的 C++ memory_order

Java 访问数据库连接

java - 静态和非静态方法的同步