如何轻松更改BOOST_LOG_TRIVIAL的输出

时间:2016-01-17 17:34:51

标签: c++ boost boost-log

我想使class ItemResource(ModelResource): categories = fields.ToManyField(CategoryResource, 'categories', null=True, readonly=True) def dehydrate_categories(self, bundle): categories = Category.objects.filter(owner_id=bundle.request.user.id, items__item=bundle.obj) return [category.name for category in categories] 的输出可配置,即删除时间戳和/或线程和/或严重性。电流输出例如是

  

[2016-01-17 17:26:22.609294] [0x00007fc4b8dbd840] [致命]"我的味精"

在使用琐碎的日志记录和最小额外的情况下,实现这一目标的最简单方法是什么?此外,可能会更改时间戳的格式或提供线程名称而不是线程ID。

谢谢, filimon

1 个答案:

答案 0 :(得分:1)

您可以通过使用合适的格式化程序创建接收器来实现此目的。 Tutorial中描述了该过程(如果您想继续向控制台发送日志,请使用add_console_log而不是add_file_log。如果您希望在输出中使用它们,则可能还需要添加一些常用属性,例如时间戳。设置接收器后,BOOST_LOG_TRIVIAL生成的所有日志都将定向到该接收器。