多线程服务器组件的日志记录 我有一个多线程服务器应用程序,我用C++编写,我需要实现一个很好的和高效的日志记录系统。所谓高效,我的意思是,无论配置了多少日志记录,应用程序都不应该停止。因此,最好有一些线程专门用于编写日志文件

多线程服务器组件的日志记录 我有一个多线程服务器应用程序,我用C++编写,我需要实现一个很好的和高效的日志记录系统。所谓高效,我的意思是,无论配置了多少日志记录,应用程序都不应该停止。因此,最好有一些线程专门用于编写日志文件,c++,multithreading,logging,C++,Multithreading,Logging,我希望将服务器组件处理的每个请求都记录在自己的文件中,使用一个循环系统来删除比某个阈值更早的文件。一个请求由两个线程处理,一个线程执行一些转换工作,另一个线程作为线程池(boostthreadpool)的一部分,执行所有其他操作(数据库获取、计算等)。所以日志记录需要是线程安全的,我必须能够对其进行级别配置,并让每个记录器类实例(我自己的记录器,实现了一些库)接受一个新的文件名。以便为特定请求创建每个新的记录器实例 我的最终问题是:哪个日志库允许我为每个请求创建一个新的日志文件,并允许我配置日志

我希望将服务器组件处理的每个请求都记录在自己的文件中,使用一个循环系统来删除比某个阈值更早的文件。一个请求由两个线程处理,一个线程执行一些转换工作,另一个线程作为线程池(boostthreadpool)的一部分,执行所有其他操作(数据库获取、计算等)。所以日志记录需要是线程安全的,我必须能够对其进行级别配置,并让每个记录器类实例(我自己的记录器,实现了一些库)接受一个新的文件名。以便为特定请求创建每个新的记录器实例

我的最终问题是:哪个日志库允许我为每个请求创建一个新的日志文件,并允许我配置日志级别?(即:错误、警告、严重等)

还是我应该自己实现一切?(不记录不是一个选项)

我已经研究了Boost::Logging v2,因为保存所有状态(级别、文件)的主logger对象是全局的,所以我无法更改每个请求的文件


我已经看过了templog.org,但我甚至无法编译它。无论我包含什么或设置了哪些引用,它都无法找到templog命名空间或它的任何类

看看Apache。这是一个伟大的日志库