问题标签 [boost-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
89 浏览

c++ - Boost.Log - 日志消息被意外过滤掉

我正在尝试按可配置的严重性级别创建过滤器。我写了以下过滤器类:

然后我初始化日志如下:

然后我正在制作测试输出:

但我看不到我的消息。但是当我注释掉对 set_filter() 的调用时,会出现消息。logOptions.m_severity 的值为 0,即应允许所有消息。试图在 operator() 中设置断点并检查发生了什么 - 它似乎工作正常。我做错了什么?

0 投票
0 回答
139 浏览

c++ - Boost 1.73 日志库回归

我最近从 Boost 1.72 升级到了 1.73。出于某种原因,boost::log 库似乎有一些回归,我无法通过查看源代码和调查先前版本 1.72 的示例程序增量来找到解决方案。包含以下标题似乎是错误的根源。

在 Visual Studio 2019 (x64) 中包含上述内容会导致以下令人困惑的编译器输出。

看着utility(151,1)我看到以下令人困惑的元编程代码(在我的情况下,_HAS_CONDITIONAL_EXPLICIT 默认启用)

看起来问题似乎来自 date_parsing.hpp ,它初始化了一个静态 std::map 对。

这就是我使用图书馆的方式。请参阅下面注释掉的时间戳代码和格式化程序分配(除了删除有问题的包含),以便获得编译源。

0 投票
0 回答
376 浏览

c++ - boost.log - 在单个接收器上进行多线程写入的一个很好的例子

假设只有一个接收器(例如一个文件),并且几个线程正在其上写入日志。

我搜索了很多,但不幸的是找不到一个很好的例子。

我已经channel为每个线程尝试了多个 s 并崩溃了。

0 投票
2 回答
30 浏览

c++ - 提取任意类型的 boost log 属性值

有一个具有任意类型属性数量的日志记录系统。属性由外部程序使用公共 API(功能模板)添加。类型是事先不知道的。打印出属性值的典型方法如下(简化):

在上面的示例中,我们已经知道属性值类型是int. 如果不知道预期的类型怎么办?当然,我可以这样写:

但是在这种情况下,我必须定义所有可能的类型并分别处理它们。

假设类型重载流操作符,有没有办法打印出(或转换为字符串)所有值,而不管它们的类型如何?

更新

以下是更多细节:

和另一个应该打印属性值的函数