问题标签 [spdlog]
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.
yocto - 向 yocto rootfs 添加一个库
我正在使用这个配方,默认情况下它不会复制生成的 .a lib(我认为它只需要使用标头)
我正在尝试将生成的 libspdlog.a 放入我的 sysroot 中,但我似乎无法做到这一点。我将配方复制到我的层(无论如何都必须这样做,因为我的项目引用了旧版本的 meta-oe)
到目前为止,我已经尝试过:
和
我很确定 do_install 没有被调用。我必须添加到我的 IMAGE_INSTALL spd-dev 所以也许这与它有关
谢谢
c++ - 我不能在循环中使用 spdlog 记录器
我想通过循环创建日志。这是一个简单的例子:
这是logging.hpp
文件内容:
它编译没有问题,但是当我运行带有多个参数的程序时,它会发生错误:
c++ - 在自定义反向向量迭代器中看不到第一个元素
前几天我想尝试为向量编写自己的迭代器,当然,这是最原始的例子,因为 c++ 标准中有很多令人困惑的代码。因此,正向向量的常用迭代器工作正常,但反向迭代器存在问题。我将它完全建立在基本迭代器上,只是我专门为反向迭代器更改/反转了运算符。
从 Vector 访问迭代器:
问题本身在于,当我尝试以相反的方向遍历所有元素时VectorRevIterator
。当试图将所有这些输出到控制台时,它似乎将一个元素向前移动并且看不到/无法读取第一个元素的字符。但是然后输出所有元素,只有没有最后一个。
这里有一个例子:
如何解决这个问题?要制作反向迭代器,只需还原运算符++
--
+=
-=
和rBegin
rEnd
函数。或者也许我忘记了什么?
c++ - 您如何参考柯南索引中的特定配方修订?
我需要参考spdlog 1.7.0 修订版 1eebff2f51d90cb700b63c6d2449ebcb,而不是最新修订版,但我似乎不能这样做。指定修订版需要user/channel#REV syntax,但柯南索引上的食谱似乎没有 user/channel。
如何引用柯南索引中的特定版本?
glog - 将 Google Logger 打印格式(即 <<)转换为 spdlog 打印格式的宏扩展
我有大量使用 Google Logger 样式的日志打印的代码:
LOG(ERROR) << "AAAA" <<< 123;
目前我需要用 spdlog logger 替换 Google logger,它支持类似 python 的格式:
logger->error("{} {}", "param1", 123);
当然,我不想更改代码中的每个日志行。我想要做的是重写LOG(severity)
宏定义。原来的宏实现是:
#define LOG(severity) COMPACT_GOOGLE_LOG_ ## severity.stream()
你能推荐我如何实现宏吗?我的想法是传递给 LOG(ERROR) 的原始参数(即<< "AAAA" <<< 123
)应该打印到字符串缓冲区,字符串缓冲区将打印到目标 spdlog 记录器实例,如下所示:logger->error("{}", str_buffer.c_str());
这样做的最佳主意是什么?非常感谢!!!
c++ - 如何在谷歌测试中读取 spdlog 输出
我正在进行 spdlog 的最新提交(关于 std 输出的问题,显然已解决),并且正在将我的输出从 std::cout 切换到 spdlog。
我的谷歌测试重定向 std::cout 所以我可以检查存根函数的输出:
然后在测试中使用如下;
doSomethingThatWritesToStdOut
当我将内容更改为时,这不起作用
spdlog::get("console")->debug("Some output string\n");
该teststr
值为空..如果我执行以下操作
然后我可以在 teststr 中看到“一些输出字符串”的一个实例。如何捕获此记录器的输出(或更改记录器),以便在谷歌测试中进行测试?
c++ - 从 qt 的 qtextedit 对象中的 spdlog 获取日志
我正在尝试在 qtextedit 窗口中重定向我的日志。我使用这篇文章:Redirecting std::cout from DLL in a separate thread to QTextEdit。
这是我的测试程序:
q_debugstream.h
主窗口.h
主窗口.cpp
主文件
我的问题:来自 SPDLOG_INFO 的日志出现在我的控制台中,但不在我的 qtextedit 窗口中。显然,来自 spdlog 的日志不会被 qInstallMessageHandler 的函数 QMessageOutput 捕获。
我的问题:是否可以从 qtextedit 框上的 spdlog 捕获日志?
c++ - spdlog 无法在 23:59 小时创建dailylog
我正在尝试使用 spdlog 在 23:59 生成每日日志。日志条目发生在单独线程 (TimerThread) 上的互斥锁内。在 23:58 或 23:59,日志文件按预期停止条目,但直到凌晨 4:27-4:30 才创建新的日志文件。我的系统时区设置为 UTC。似乎启动 TimerThread 的线程也被锁定了。请参阅附件代码。我究竟做错了什么?这是我使用的 TimerThread 代码:https ://codereview.stackexchange.com/questions/127552/portable-periodic-one-shot-timer-thread-follow-up 。为了测试 TimerThread 是否对锁定做了一些有趣的事情,我有一些代码来测试带有旋转文件接收器的计时器线程,即使在 23:59 时钟时间之后它也会继续运行而没有任何问题。
- 操作系统:Ubuntu 20.04
- 编译器 GCC 9.3.0
- CXX_STANDARD 设置为 C++14
visual-c++ - 在 c++ 项目中使用 spdlog
在对代码进行一些操作后,我得到了链接错误:
在谷歌搜索时,我发现这可能与fmt
图书馆有关。我没有直接fmt
在我的项目中使用,但它可能被spdlog
. 如何了解什么系统正在搜索并且无法链接?如何解决这个问题呢?
c++ - gcc arm 错误:'::fileno' 尚未声明
我正在尝试让 spdlog 用于我的嵌入式项目。(是的,我知道 spdlog 不是为嵌入式项目设计的,但我想试一试;))
我已经设法将 c++ std::thread、std::mutex 等转发到适当的 FreeRTOS 对象。所以这不再是问题了。
实际代码非常简单。数据应写入日志文件。实际的文件写入应通过嵌入式 FATFS 库完成
但是,这会导致编译器错误
现在我已经有了系统调用的包装器
为什么我仍然收到错误?我必须添加吗
等到链接器标志?
你能帮帮我吗?