簡體   English   中英

Serilog SelfLog 不輸出任何東西

[英]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 沒有輸出任何內容,更不用說任何錯誤了。 我什至故意弄亂連接字符串只是為了讓它輸出任何東西而不是骰子。 有什么想法嗎?

我知道這是一個很老的問題,但我花了幾天時間處理類似的問題,所以我會在這里留下一些建議。

  1. 如果您正在使用全局Log對象,請確保您確實在發送內容。 Serilog 將請求排隊並在您執行后將它們全部發送:

    Log.CloseAndFlush();

    沒有這個,什么都不會被記錄。 確保在最后執行此操作,因為在此之后,記錄器將關閉( Serilog 的生命周期文檔)。

    如果您不使用全局對象,則應在處理日志對象后執行此操作。

  2. 嘗試通過強制顯示 Serilog 是否確實顯示錯誤。 只需刪除連接字符串中的一個字符或類似的內容,即可查看控制台中是否出現 Serilog 的異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM