長時間実行されるタスクを処理する Windows サービスがあり、強制的に実行しない限りシャットダウンしません (つまり、コンピューターのシャットダウン)。Windows サービスが稼働している間ずっと、同じ Serilog インスタンスを維持したいと考えています (パフォーマンス上の理由から)。
ただし、以下に示すように、Dispose() 呼び出しの後にのみログが表示されます。
var logger = new LoggerConfiguration()
.WriteTo.Seq("http://localhost:5341")
.CreateLogger();
logger.ForContext("TestContext", new { Machine = "TSTDB2" }, true).Information("Test");
logger.Dispose();
数秒の遅延は気にしませんが、Serilog インスタンスが破棄されるまで待たなければならないのはうまくいきません。どんな解決策でも大歓迎です。