【问题标题】:Redirect std::cout to syslog on linux将 std::cout 重定向到 linux 上的 syslog
【发布时间】:2012-06-16 12:38:48
【问题描述】:

我的代码包含很多std::cout
我接到系统管理员的电话,告诉我我正在填写/var/log/messages 文件夹和系统日志文件系统。但是,我的用户 ID 无权访问 /var,这需要 root 权限才能写入,我不使用 syslog。
我的假设是,必须以某种方式将 Linux 配置为将 cout 重定向到 syslog 服务器。

我的问题是Linux中的设置是什么,这使得上述可行(即重定向cout到syslog)?

【问题讨论】:

  • 你如何调用你的程序?
  • 是什么让你认为你大量使用 std::cout 和填充 /var/log/messages 有关系?
  • 如果你想将stdout重定向到syslog,这个问题与C++编程无关。尝试添加更好的标志,也许你会引起 linux 用户的注意 ;)
  • @DevSolar sysadmin 显示的日志消息与我通过 cout 在 bash 终端上看到的相同
  • @AlessandroPezzato 我不想重定向到系统日志。事实上,我很困惑为什么 std::cout 被重定向到系统日志。因此,如果我知道 linux 上的哪些设置启用了这种重定向,我可以查找它们。

标签: c++ linux syslog


【解决方案1】:

如果您将程序的输出通过管道传送到logger,该程序会将输出发送到syslog。查看this question的答案。

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多