如何在Java中多线程间共享公共日志文件
我们可以在多个线程之间共享同一个日志文件吗 先在Deque中转储消息(如并发收集),然后定期将数据从Deque转储到日志文件,这是一个好主意如何在Java中多线程间共享公共日志文件,java,multithreading,spring-webflux,java.util.concurrent,Java,Multithreading,Spring Webflux,Java.util.concurrent,我们可以在多个线程之间共享同一个日志文件吗 先在Deque中转储消息(如并发收集),然后定期将数据从Deque转储到日志文件,这是一个好主意 请共享任何示例/指针以获得最佳性能。假设线程指的是在同一台机器上或分布式环境中运行的应用程序/程序,而不是同一应用程序中的多个线程 然后 如果您使用Log4J作为日志框架,则可以通过SocketAppender(请参阅)实现日志记录。然后,您的各种应用程序可以连接到您编写的单独的“日志”服务,以将所有日志合并到单个文件中 另一种选择是让您的所有应用程序注
请共享任何示例/指针以获得最佳性能。假设线程指的是在同一台机器上或分布式环境中运行的应用程序/程序,而不是同一应用程序中的多个线程 然后
- 如果您使用Log4J作为日志框架,则可以通过
(请参阅)实现日志记录。然后,您的各种应用程序可以连接到您编写的单独的“日志”服务,以将所有日志合并到单个文件中SocketAppender
- 另一种选择是让您的所有应用程序注册为特定队列(类似于RabbitMQ)上的生产者,其中日志行作为消息发布。然后,您可以再次拥有一个单独的使用者,该使用者使用消息并将其写入日志