首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >multi=threaded服务器组件的日志记录

multi=threaded服务器组件的日志记录
EN

Stack Overflow用户
提问于 2010-12-19 23:01:05
回答 1查看 831关注 0票数 2

我有一个用C++编写的多线程服务器应用程序,我需要实现一个良好且相当高效的日志记录系统。我所说的高效,是指无论配置多少日志记录,应用程序都不应该停止工作。因此,最好有一些线程专门用于写入它的日志文件。

我希望将服务器组件处理的每个请求记录在它自己的文件中,并有一个轮换系统来删除早于某个阈值的文件。一个请求由两个线程处理,一个线程做一些转换工作,另一个工作线程是线程池(BOOST threadpool)的一部分,它执行所有其他操作(数据库获取、计算等)。因此,日志记录必须是threadsafe,并且我必须能够为级别配置它,并让每个Logger类实例(我自己的实现某个库的记录器)接受一个新的文件名。以便为特定请求创建每个新的Logger实例。

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

或者我应该自己实现所有的东西?(不能选择无日志记录)

我看过Boost::Logging v2,因为保存所有状态(级别、文件)的主记录器对象是全局的,所以我不能为每个请求更改文件。

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

EN

回答 1

Stack Overflow用户

发布于 2010-12-19 23:06:39

看看Apache log4cxx。这是一个很棒的日志库!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4483506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档