xunit.console.exe
当我关闭使用 Serilog 的应用程序时,出现以下异常:
System.AggregateException: One or more errors occurred. ---> System.Threading.ThreadAbortException: Thread was being aborted.
at Serilog.Sinks.Async.BackgroundWorkerSink.Pump()
at System.Threading.Tasks.Task.Execute()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Serilog.Sinks.Async.BackgroundWorkerSink.Dispose()
at Serilog.LoggerConfiguration.<CreateLogger>b__28_0()
---> (Inner Exception #0) System.Threading.ThreadAbortException: Thread was being aborted.
at Serilog.Sinks.Async.BackgroundWorkerSink.Pump()
at System.Threading.Tasks.Task.Execute()<---
是的,我做了一些大胆的事情(创建了一组 SerilogWriteTo.Async
包装的记录器),但我需要找出最干净的方法来不引发异常并返回干净的测试运行。(如果有装配未初始化的钩子,我会调用Log.CloseAndFlush()
它)
(是的,我很欣赏单元测试不应该连接重量级日志记录,但我仍然需要解决集成测试的问题)
(当我猜出来的时候会自己回答;我只是不能用谷歌搜索答案,相信应该可以)