登录多线程应用程序

Sam*_*mmi 1 java multithreading

我正在研究java中的交易应用程序(一次有数百万个数据),这是一个广泛的多线程.应用程序将消息记录在日志文件中.目前,此Logging的性能非常低,占用大量CPU时间.

我想重新实现它.我LinkedBlockingQueue用谷歌搜索并找到了一个选项.arrayBlockingQueue由于其固定的大小,不能使用.

此外,像log4j这样的框架也听起来不错,因为它们是线程安全的.但是我怀疑log4j对于多线程应用程序来说是否是一个很好的选择.

在我的多线程应用程序中进行日志记录时,我应该选择哪种最佳数据结构/框架?