【发布时间】:2023-04-05 20:56:01
【问题描述】:
我有多个线程正在运行,并且想对每个线程的日志输出进行分组,所以 它在线程完成运行后连续显示所有线程消息。 我只想记录到一个文件(几乎所有其他关于线程日志记录的问题都是关于为每个线程记录到不同的文件)。
目前我正在使用 slf4j & log4j。我需要有一些消息队列并在线程完成后刷新它。我自己可以很容易地做到这一点,但是这些日志框架是否为这种情况提供了任何东西?我知道我可以将附加程序设置为“auto flush = false”,但我不知道是否有某种方法可以对每个线程的消息进行分组。
提前多谢
【问题讨论】:
-
如果确实需要,您应该将日志记录到每个线程的不同日志文件中。否则在完成后对日志文件进行一些后期处理以分组线程。在运行程序时对日志消息进行分组会降低性能。
标签: java multithreading logging slf4j log4j