c++11 - 从 C++ 程序将输出发送到 systemd-journal

标签 c++11 journal

我有一些 Python 程序,我想将它们转换为 C++11 代码作为学习该语言的一种方式。目标平台是 Debian,内核版本 >=4.2(即 systemd)。

在 Python 中,我可以使用 syslog module 将调试/日志信息记录到系统日志中。 .
在 C 中,我可以 #include <syslog.h> .但是,来自 this article我知道对于当前的 C++ 实现,没有这样的实现(不再)。如果程序是服务(或守护进程?),这显然会自动发生,尽管我不知道如何区分消息优先级。

我在谷歌上搜索,但无法真正找到解决我的问题的方法:如何从 C++11 程序中向系统日志发送信息?

编辑:(举手放弃;-))由于我的问题似乎没有本地解决方案,而且我仍处于学习 C++ 的开始阶段,我现在考虑使用 C i.s.o. C++ 因为 C native 支持系统日志 syslog.h .

最佳答案

您还可以通过 sd_journal_send(3) 将日志数据发送到 journald。或 sd_journal_print(3) c-函数。

http://0pointer.de/blog/projects/journal-submit.html提供有关此主题的更多信息和示例。

关于c++11 - 从 C++ 程序将输出发送到 systemd-journal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33505125/

相关文章:

c++ - 当返回类型是一个类时,带有尾随返回类型的 GCC 属性警告

C++11 简化了调用同一模板函数的不同特化的模板函数的语法

c++ - 将类的成员函数传递给 std::thread

linux - 如何保存journalctl --verify的输出

transactions - 从 Netsuite 中删除交易记录

python - SQLite WAL 模式,后台线程检查点,wal-journal 永不收缩

C++11 is_pod 与 GCC 4.6

c++ - 如何部分特化模板 C++ 类?

go - 在golang中制作日志文件

history - Spring Boot 管理日志历史记录