问题描述
我想在使用serilog时忽略输出窗口中的null属性。 应该为空的属性应被忽略,其余属性应被记录。
已经研究过 AttributedDestructuringPolicy ,但没有帮助。 任何帮助或领导将不胜感激。
请查看以下链接,以了解我的问题: https://github.com/serilog/serilog/issues/1286
我创建了一个自定义方法来安排我的日志,如下所示:-
public static Log PrepareLogDetails(
ActivityState activityState,string compressedData,string exceptionMessage,string exceptionStacktrace,string correlationId,Initiator initiator,string initiatorId,Dictionary<string,string> metadata)
{
var step = new Step()
{
activityState = activityState,CompressedData = compressedData.GZipStringCompress()
};
if (!string.IsNullOrEmpty(exceptionMessage))
{
step.Exception = new Adapter_Exception()
{
Message = exceptionMessage,StackTrace = exceptionStacktrace
};
}
var log = new Log()
{
CorrelationId = correlationId,Initiator = initiator,InitiatorApp = "VPAdjustment",InitiatorId = initiatorId,Step =step,Timestamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),Metadata= metadata
};
return log;
}
现在,当我返回日志对象时,它也包含null属性。 我想在返回日志对象时忽略这些null属性。 知道我该如何实现吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)