使用Boost.Log日志库的经验?

我正在考虑开始使用Boost.Log日志库 。 有谁使用Boost.Log? 请分享你在这方面的经验。

我正在考虑的其他库有Apache log4cxx(安装起来很麻烦,但是我的团队成员想要一些简单的入门)和Pantheios(同样的问题,因为它与额外的前端和后端一起工作)。

更新 :我已经写了这个replaceBoost.Log与我自己的自定义日志logging,主要是因为我决定摆脱所有我的项目中的各种原因的Boost依赖项。 如果您使用Boost方法很好,我猜Boost.Log仍然是Klaim回答的一个有效select。

我在2010年与Boost.Log的经验如下。


我已经成功地将Boost.Log整合到了我的游戏引擎中,而且我只能说很好。 当然,使用起来还有点早,因为版本2将成为官方Boost.Log的实际版本。

请注意,版本“1.0”可用不被维护。 要接收更新,您必须使用可能变得不稳定的stream血边缘(中继)版本。 如果您打算在任何严肃的项目中使用此版本,请考虑这一点。 如果你不害怕使用stream血的版本或将来的破损,那就去做吧。 在目前的状态下使用它真的很好。

我一直认为log4j / log4cxx中的分层日志logging系统是优越的,但是Boost.Log让我思考。 过滤和属性方式更加灵活。

由前端/后端分隔的接收器的devise使添加额外后端非常容易。 无需担心同步问题或过滤由前端处理的问题。 图书馆也有很多后端,旋转文件,控制台,系统日志,Windows事件寄存器等。

我写了自己的后端, 一个进入游戏控制台,一个进入更严重的事件通知系统。 比我想象的要容易得多,只需几分钟就能完成。

最后但并非最不重要的,维护者/开发者也是非常有帮助的。 您将在项目论坛中获得大量帮助。 他修正了两个错误(其中一个主要的)就在这个周末,我报告:-)

更新:我使用Boost.Log进入游戏引擎系统,我非常满意。 这是快速,线程安全,非常非常灵活,当你需要它。

Boost.Log应该在今年即将发布的版本中提供所有Boost库(2013)。


Boost.Log是为了build立一个日志系统。 如果你阅读文档,你会发现它非常灵活,任何日志logging系统都可以用它来构build(如login远程计算机)。

所以, 在简单的项目中有一些macros可以简化使用,但是我认为这种types的库对那些真正了解日志logging并想要为其应用程序构build特定架构的人来说是非常有用的。

关于性能,我记得在提交时出现了一些问题,与其他(不太灵活)的日志库比较,但是因为这是一个草稿,而且第一个版本还没有出来,所以如果你不编写代码时间关键的应用程序。

最后,我认为现在这个评价太“新”了。 没有其他日志库像这个一样灵活,我不确定是否有很多人会觉得需要使用它。

更新:与Boost.Log作者最近的电子邮件交换导致一些数据,build议达到Boost.Log显然是快速logging的一个很好的select。

我最近考虑在我开始的一个项目上实现一个日志系统。

我试过log4cxx,因为你提到它,安装确实非常繁琐。 我花了几个小时才把它编译成VS2012(还有其他的依赖库……),然后在我的项目中使用时就崩溃了。 当然,一些奇怪的东西与标准库不匹配,但无法弄清楚。

所以我切换到了几分钟内启动并运行的log4cpp。 我觉得它优雅,轻便,正是我所需要的。 它具有与着名的log​​4j&co相同的function。 日志logging系统,这对您的团队工作可能是一个真正的优势(通过configuration文件configuration等)

就性能而言,需要一次函数调用来检查logging器是否在消息级别处于活动状态,然后调用一个函数来实际logging数据。

通过一些自制的macros(将LINE &co。添加到消息中),log4cpp在我的项目中已经certificate是有用的。

不幸的是,我没有尝试Boost.Log,所以不能说出来,但是如果你select不采取Boost.Log的方式,我希望这个反馈对你仍然有用。