我有一种情况,我正在尝试使用NLog记录XML。我们在Kibana查看日志。
日志记录通常工作正常但今天我正在尝试记录一个长度为320,000个字符的api响应并且它正在“消失”。通过消失我的意思是我在kibana中搜索日志前缀并且它不显示我的日志。
作为测试,我在实际日志之前和之后插入了测试记录:
_logger.Info("api Response - About to log");//test
_logger.Info($"api Response: {Environment.NewLine}{xml}");
_logger.Info("api Response - Logging Complete");//test
xml
是一个长度为320,000个字符的XML字符串。
在Kibana中搜索“api Response”会返回两个测试日志,但不会返回xml日志。如果我根据测试日志的时间戳进行搜索,那么我怀疑还有另一个日志是我丢失的日志:
消息:��ko�Hǿ�Å}���x|ɻ��c#Z��j��Ӣmï¿½ï ¿½*�}Ç4�ks�b�Ú*��?���\��3]��=��l�X-7I ¿½b������3y��f��" '�
看起来它可能会对响应进行压缩,因为它太大了。 有谁知道nlog甚至kibana是否会压缩日志?我无法看到任何会导致这种情况发生的设置。
如果我用随机字符串替换日志中的xml,则会成功记录。所以它必须与xml的格式(可能需要转义??)或日志的大小有关。
请注意,如果我在本地调试,xml会记录到笔记本电脑上的文本文件中。
任何人都可以了解可能发生的事情吗?我对NLog和Kibana很新。