我堅持NLog
日誌語句我的RavenDb
數據庫。代表日誌語句的LogEventInfo
類具有一個屬性LogLevel
,它帶有一個私有構造函數。 LogLevel
(Info,Warn等)的實例通過調用私有構造函數的靜態只讀屬性創建。JsonSerializationException類型與私有構造函數
的問題是,我想讀消息從數據庫中查詢,併爲他們拋出一個Json.Net
序列化錯誤:
Unable to find a constructor to use for type NLog.LogLevel. A class should either have a default constructor, one constructor with arguments or a constructor marked with the JsonConstructor attribute. Path 'Level.Name'.
我怎樣才能解決這個錯誤嗎?可以在這裏創建某種Raven索引嗎?
您可以編寫自定義'JsonConverter'如果你喜歡,或者你可以像Xha一樣做rze說,並使用自己的類來記錄日誌數據,而不是直接存儲NLog類。 – 2013-03-11 04:38:30
我傾向於一個自定義類。鑑於'LogLevel'的設計方式,在反序列化過程中我不得不忽略它,因爲它是記錄信息的關鍵部分,所以我不想這樣做。 – levelnis 2013-03-11 07:54:43