我使用 Serilog 作为我的日志框架(使用 Seq 作为我的日志接收器)。记录异常时,我使用的是:
log.Error(ex, "Operation Failed");
我的应用程序大量使用了 async/await 方法。当发生未处理的异常时,堆栈跟踪很难阅读。有一个 nuget 包可以清理异步堆栈跟踪(https://github.com/aelij/AsyncFriendlyStackTrace)。这将创建一个扩展方法,让您可以访问修改/干净的堆栈跟踪:
ex.ToAsyncString()
我希望能够在将堆栈跟踪写入 Seq 之前使用此库来拦截堆栈跟踪,而是记录干净/修改后的堆栈跟踪。
Serilog/Seq 有没有办法控制发送到日志接收器的错误字符串的确切输出?