2017-06-13 58 views
1

我想用Nlog實現ReBus記錄。用Nlog和Rebus記錄

我們有NLog運行到控制檯,文件和數據庫(具有自定義字段)和不同的文件。我的意思是,NLog上漲&運行良好。

我們安裝了ReBus.Nlog Nuget Package,並將我們的適配器配置更改爲Nlog()。

但是沒有記錄到文件,儘管我們已經使用'Trace'loglevel配置了該文件。

有人有任何簡單的例子來實現在ReBus中使用NLog登錄? 我已經檢查了Rebus.Nlog github源代碼上的測試,但我認爲它只測試顯式發送給記錄器的消息。

主要是我想記錄Rebus警告和錯誤。

謝謝。

+0

請分享您的NLOG配置 – Julian

+0

我沒有改變我的NLOG配置XML文件,因爲之前添加NLOG作爲記錄器的滷麪。 我認爲它必須以舊/先前的配置運行。 所有其他日誌(與NLog也),運行良好。 無論如何,我會嘗試做一個Rebus + Nlog的秒殺(這樣我可以發佈所有的內容)併發送給所有在這個線程。 – ferpega

回答

0

我已經加入this Logging sample projectRebusSamples repository - 代碼的相關部分如下所示:

// configure NLog 
var configuration = new LoggingConfiguration 
{ 
    LoggingRules = { new LoggingRule("*", LogLevel.Debug, new ConsoleTarget("console")) } 
}; 

LogManager.Configuration = configuration; 

// configure Rebus 
Configure.With(activator) 
    .Logging(l => l.NLog()) 
    .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "logging")) 
    .Start(); 

至於我可以告訴大家,配置NLOG的這種方式可能不是慣用的方式,因爲我大多數人傾向於能夠在其應用程序配置文件中使用XML配置規則和目標。

無論哪種方式,NLog最終都會應用靜態配置,然後當您在日誌配置器上調用NLog()時,Rebus可以選擇它。

我希望幫助:)

+0

這就是我配置的方式。 – ferpega

+0

明天我會嘗試做一個秒殺(與nlog XML配置文件),所以我可以在這裏發佈所有的代碼。 如果它可能會包含在Samples資源庫中。 無論如何感謝 – ferpega

+0

你仍然可以使用XML配置:'new XmlLoggingConfiguration(path)' – Julian