2013-11-26 94 views
0

我有一個控制檯應用程序運行在產生大量日誌記錄的服務器上(使用NLog)。我希望能夠遠程監聽日誌記錄。我可以使用網絡日誌記錄類型,但是我想減少帶寬,所以我想在服務器端應用過濾,以便只將過濾的日誌記錄發送到客戶端。使用NLog登錄到使用服務器端篩選的遠程客戶端

我可以在服務器上創建預定義的日誌記錄目標並監聽這些目標,但這還不夠好。客戶端需要能夠指定過濾器。多個客戶端應該能夠監聽日誌記錄。

有沒有什麼辦法可以使用NLog獲得這種類型的功能?或者,我是否需要創建一種自定義的方式來完成某種用戶列表?

回答

0

在這種情況下,沒有 '開箱的' 解決方案,但你可以寫一個自定義Target

例如:

public class MySuperTarget : TargetWithLayout 
{ 
    public MySuperTarget() 
    { 
    } 

    protected override void Write(LogEventInfo logEvent) 
    { 
     // 1. Filter LogEventInfo 
     // 2. Send to clients 
    } 
} 

此處瞭解詳情:https://github.com/nlog/NLog/wiki/How-to-write-a-Target

相關問題