[英]Serilog SelfLog not outputting anything
我實際上是在嘗試解決 MSSqlServer 接收器未向我的數據庫表寫入任何內容的問題。 有人建議我連接 SelfLog 以查看發生了什么,但它實際上並沒有輸出任何內容,我不確定我是否遺漏了什么。 這是設置方法:
public SerilogLogger()
{
Serilog.Debugging.SelfLog.Enable(
msg => System.Diagnostics.Trace.WriteLine(msg));
_logger = new LoggerConfiguration()
.WriteTo.MSSqlServer(@"Server=<MyConnectionString>", "Logs")
.WriteTo.Trace()
.CreateLogger();
}
此類中的方法只是調用此處設置的_logger
上的日志方法。 我正在創建的日志正在通過跟蹤接收器寫入輸出窗口,但沒有任何內容進入數據庫並且 Serilog 沒有輸出任何內容,更不用說任何錯誤了。 我什至故意弄亂連接字符串只是為了讓它輸出任何東西而不是骰子。 有什么想法嗎?
我知道這是一個很老的問題,但我花了幾天時間處理類似的問題,所以我會在這里留下一些建議。
如果您正在使用全局Log
對象,請確保您確實在發送內容。 Serilog 將請求排隊並在您執行后將它們全部發送:
Log.CloseAndFlush();
沒有這個,什么都不會被記錄。 確保在最后執行此操作,因為在此之后,記錄器將關閉( Serilog 的生命周期文檔)。
如果您不使用全局對象,則應在處理日志對象后執行此操作。
嘗試通過強制顯示 Serilog 是否確實顯示錯誤。 只需刪除連接字符串中的一個字符或類似的內容,即可查看控制台中是否出現 Serilog 的異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.