0

libev我有一个由事件循环组成的 C 程序。对于其中一位观察者,有一个内部循环导致 100 多条日志消息(每条约 200 个字符长)。由于某种原因,只有三分之一的消息进入日志文件。程序不退出。我可以通过数据看出观察者成功完成了内部循环,它不会默默地失败。

作为一个有趣的转折,如果我printf在每个 syslog 调用之后插入一条语句,所有日志消息都可以将其写入日志文件。

如何解决这种奇怪的行为?当然,我希望所有 syslog 调用都会在日志文件中产生等效的条目。

我不能随意给出示例代码,但所有调用都是完全普通的 syslog 调用。在程序的其他地方,它们工作正常。

如果重要的话,我通过 OSX 终端中的 ssh 在 OSX 10.7.5 的 VirtualBox VM 中使用 Debian 7 (gcc 4.7.2-5)。

4

1 回答 1

1

所以这被证明是启动的消息速率限制rsyslog。按照此处更改默认值使问题消失。

于 2013-11-10T08:29:50.460 回答