我寫了一個使用Log4Net,Nlog和Serilog交替使用的日誌框架。每次調用記錄器,都會在寫入日誌條目之前觸發事件。這可以選擇通過SignalR將條目推送到連接的Web客戶端。Serilog - 如何將格式化消息手動呈現爲字符串?
在添加serilog之前,我使用string.Format來獲取格式化文本。現在這個偉大的解構已經成爲了重大的責任。 string.Format顯然不喜歡字符串中的{@ 0}或{data}。
// log the event before engaging with the logger
LogEventBus.Handle(LogLevels.Info, DateTime.Now, msg, args);
if (DiagnosticLevel < level)
return;
_logger.Info(msg, args);
有沒有什麼辦法讓serilog生成輸出,直接作爲字符串?
我開始寫一個內存接收器,但是這遠離了我基於集中事件的日誌記錄,並且完全脫離了我實現的其他庫。
有什麼建議嗎?
這會有幫助嗎? https://github.com/adamchester/MessageTemplates –