我正在开发一个广泛多线程的java交易应用程序(一次数百万个数据)。应用程序正在日志文件中记录消息。目前,此 Logging 的性能相当低,占用大量 CPU 时间。
我想重新实现它。我用谷歌搜索并找到LinkedBlockingQueue
了一个选项arrayBlockingQueue
。由于它的固定大小而无法使用。
此外,像 log4j 这样的框架听起来也是不错的选择,因为它们是线程安全的。但我怀疑 log4j 是否是多线程应用程序性能方面的好选择。
我应该选择在多线程应用程序中进行日志记录的最佳数据结构/框架是什么?