用于高性能应用的多线程日志记录

Ton*_*ion 13 c++ logging multithreading

我有一个应用程序(服务器应用程序)需要大量的日志记录实现,并且不应该通过启用日志记录来影响性能.

应用程序具有执行工作的工作线程的线程池.本来我打算只登录这些线程池线程,但是我需要几乎锁定整个线程,所以我的'多线程'应用程序就是这样.

我一直在寻找更好的方法来记录多个线程,我发现使用队列或环形缓冲区可能是一个想法.

任何人都可以建议(可能来自经验)为多线程应用程序实现有效日志记录(主要是文件)的任何好方法,这些应用程序也应保持一定的性能?

我想使用Boost Logging Library.

m_p*_*tor 7

据我所知,Pantheios是C++中最快的日志记录库.我建议使用它而不是Boost Logging.使用Pantheios,您只需登录到该文件,而您无需关心哪个线程.如果需要,可以将线程名称放在日志前缀中,它可以为您完成所有操作.