第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用縮進的 xml 消息創(chuàng)建 NLog XmlLayout?

如何使用縮進的 xml 消息創(chuàng)建 NLog XmlLayout?

C#
阿波羅的戰(zhàn)車 2022-11-13 13:38:22
在 NLog 的 4.6 版本中添加了一些新特性。其中之一 - XMLLayout。有什么方法可以通過正確的縮進在 XMLLayout 目標(biāo)中保存 xml 格式的消息?另一個問題是如何對分層屬性值輸出做同樣的事情?在我的配置和消息代碼下面<target name="xmlFile" xsi:type="File" fileName="my_log.xml" maxArchiveFiles="3" archiveNumbering="Sequence" archiveDateFormat="dd-mm-yyyy" archiveOldFileOnStartup="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <layout xsi:type="XmlLayout" indentXml="true" includeAllProperties="true" includeMdc="true">    <attribute name="logger" layout="${logger}" />    <attribute name="callsite" layout="${callsite}" />    <attribute name="line" layout="${callsite-linenumber}" />    <element name="message" value="${message}" />    <element name="exception" value="${exception:format=toString}" />  </layout></target>測試 xml 文本。測試留言:"<hello person=\"x\"><child>child value</child></hello>"結(jié)果不縮進:<logevent logger="Logs" callsite="WriteLogMessages.LogMessages" line="36">  <message><hello person="x"><child>child value</child></hello></message></logevent>測試性能。用于測試的 LogEventInfo:var root = new Dictionary<string, object>();var branches = new Dictionary<string, object>();var leaf = new Dictionary<string, object>();leaf["leaf"] = "This is the leaf";branches["branches"] = leaf;root["root"] = branches;var logEvent = new LogEventInfo();logEvent.Level = logLevel;logEvent.Message = message;logEvent.Properties["properties test"] = root;結(jié)果:<logevent logger="Logs" callsite="WriteLogMessages.LogMessages" line="26">  <message>Test message.</message>  <property key="properties test">  <property key="root"></property>我知道可能需要在 Dictionary 上創(chuàng)建一個包裝器并覆蓋 ToString(),但結(jié)果是問題 1。預(yù)期結(jié)果:<logevent logger="Logs" callsite="WriteLogMessages.LogMessages" line="36">  <message>    <hello person="x">      <child>child value</child>    </hello>  </message></logevent>
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

總結(jié)和闡述評論,


有一個錯誤,已在 NLog 4.6.1 中修復(fù)


默認情況下不序列化嵌套屬性。你需要MaxRecursionLimit(例如10,默認是1),


所以在這種情況下:


 <layout xsi:type="XmlLayout" indentXml="true" 

         maxRecursionLimit="10"

 ... />

請參閱XML 布局文檔


查看完整回答
反對 回復(fù) 2022-11-13
  • 1 回答
  • 0 關(guān)注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號