首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否可以在serilog中记录属性,但不在消息字段中显示它?

是否可以在serilog中记录属性,但不在消息字段中显示它?
EN

Stack Overflow用户
提问于 2021-05-19 12:26:04
回答 1查看 38关注 0票数 0

在serilog中记录消息的标准方法如下

代码语言:javascript
运行
AI代码解释
复制
Byte[] buffer;
...

log.Debug("Counted {Length} bytes in the buffer {@Buffer}", buffer.Length, buffer);

这会将Length属性添加为long/int,将Buffer属性添加为十六进制文本格式。

这也会导致添加一个消息属性,其中包含LengthBuffer的字符串表示,类似于Counted 6 bytes in the buffer ABC456。因为Buffer是一个十六进制字符串,所以我不想在message中显示它,但希望将它作为事件的一个属性。

有没有办法可以忽略message字段中的Buffer

EN

回答 1

Stack Overflow用户

发布于 2021-05-24 10:36:49

您可以使用PushProperty添加附加属性,这些属性将被添加到using块中进行的每个日志记录调用中。

代码语言:javascript
运行
AI代码解释
复制
        using (LogContext.PushProperty("Buffer", buffer))
        {
            Log.Debug("Counted {Length} bytes in the buffer", buffer.Length);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67603259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文