gpt4 book ai didi

linux - 查找系统日志最大消息长度

转载 作者:IT王子 更新时间:2023-10-29 00:25:24 27 4
gpt4 key购买 nike

大多数 Unix 程序员会习惯 syslog.h 定义的接口(interface),许多实现(例如 glibc)对发送给它的 syslog 消息的大小没有真正的限制,但是监听 /dev/log 的应用程序通常有限制。

我想知道是否有人知道找到系统日志最大消息大小的方法?或者关于限制实际(或通常)是多少的一些很好的文档?

编辑:

到目前为止,我已经找到了关于该主题的这些 RFC:

最佳答案

请记住,系统日志是一种协议(protocol),这意味着它会设置最低限度并提出建议。我找不到这方面的来源,但我相信应该支持的最小长度是 1k,建议使用 64k。

每个实现都可以自由地做他们想做的事,即如果你想要最大 16MB 并且正在编写一个系统日志服务器,你可以自由地做。我不确定你为什么会这样做,但你可以。

据我所知,没有标准的编程方法来确定这一点,因此将消息保持在略低于 1k 的大小对于可移植性来说是理想的。

更新

用户 MuMind在注释中指出 rsyslog 被截断为 2097 个字符,包括日志类型/时间戳。由于它是协议(protocol)的广泛实现,因此这强化了长度应保持在 1k - 1.5k 之间以实现最大的可移植性。

老实说,超出这个范围的唯一原因是记录额外的调试/崩溃输出;将它放在/var/log 中的某处会更好很多,并且只是在与 syslog 交谈时表明你这样做了(当然,有些情况下你不能,但是很多图书馆都内置了“尽力而为”的日志记录来处理这个问题)。

关于linux - 查找系统日志最大消息长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com