【发布时间】:2016-09-16 21:16:13
【问题描述】:
我使用 Serilog 作为我的日志框架(使用 Seq 作为我的日志接收器)。在记录异常时,我使用的是:
log.Error(ex, "Operation Failed");
我的应用程序大量使用了 async/await 方法。当发生未处理的异常时,堆栈跟踪很难阅读。有一个 nuget 包可以清理异步堆栈跟踪 (https://github.com/aelij/AsyncFriendlyStackTrace)。这将创建一个扩展方法,让您可以访问修改/干净的堆栈跟踪:
ex.ToAsyncString()
我希望能够使用此库在堆栈跟踪写入 Seq 之前拦截它,并记录干净/修改后的堆栈跟踪。
Serilog/Seq 有没有办法控制发送到日志接收器的错误字符串的确切输出?
【问题讨论】:
-
当你在
log.Error(ex, .....)下一个断点时,你能在ex.Message or InnerException处得到...吗?
标签: c# logging serilog getseq seq-logging