当前位置:  开发笔记 > 编程语言 > 正文

如果异常不为null,则Nlog输出字符

如何解决《如果异常不为null,则Nlog输出字符》经验,为你挑选了2个好方法。

如果Exception不为null,Nlog中是否存在输出特定字符的方法.例如我的布局是:

layout="${longdate}|${callsite:skipFrames=1}|${message}|${exception:format=tostring}" 

如果我调用NLog.Debug("Hello")输出将是:

2015-12-07 11:50:00.5114|MyDll.MyClass.MyMethod|Hello|

最后一个角色|正在打印出来.有没有办法防止这种情况,只有在打印出实际异常时才打印出来?



1> skalinkin..:

另请查看"何时"布局渲染器

${when:when=Condition:inner=Layout} 

由OP编辑,为未来的访问者展示工作解决方案:

layout="${longdate}|${callsite:skipFrames=1}|${message}${when:when=length('${exception}')>0:Inner=|}${exception:format=tostring}"



2> Alex..:

您可以${onexception:INNER}为此使用布局渲染器。

${message}${onexception:|${exception:format=Type,Message,StackTrace,Data}}

如果有异常,它将以“ |”开头 其次是您指定的例外格式。如果没有异常,则仅呈现$ {message}。

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有