graylog长日志丢日志的问题
环境:
C#.NET 使用 UDP 发送给graylog。
当日志内容(full_message)超过 21790 个汉字时,就报错:
一个在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或该用户用于接收数据报的缓冲区比数据报小。
21780 个汉字正常。
当full_message 全是英文时,21790 个英文是能正常发送的。
可能尝试的解决方案:
当full_message的内容超过2000字时,直接拆分发送。
一些补充测试:
如果你的full_message全是英文,那61790 以内是正常发送的。
如果超过 65535字节(Byte) 就挂了。
-
UTF8编码下,一个汉字占3Byte,65535/3= 21,845, 如果你的内容全是汉字,超过 21,845 左右就会报错。
实测,UTF8编码下一个英文占1Byte,如果你的内容全是英文,超过 65535 左右就会报错。
-
分类:
C#.NET Framework
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2017-08-09 【转】C# XML序列化去掉XML默认的命名空间及声明头
2016-08-09 HttpWebRequest 注意
2013-08-09 win xp firefox,chrome 在浏览网页时字体发虚,可以设置为新宋体