A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/NLog/NLog/wiki/XmlLayout below:

XmlLayout · NLog/NLog Wiki · GitHub

A specialized layout that renders to XML.

Platforms Supported: All

Introduced in NLog 4.6

<target name="xmlFile" xsi:type="File" fileName="${logFileNamePrefix}.xml" >
      <layout xsi:type="XmlLayout" includeEventProperties="false" elementName='logevent'>
              <attribute name="time" layout="${longdate}" />
              <attribute name="level" layout="${level:upperCase=true}"/>
              <element name="message" value="${message}" />
      </layout>
</target>

This would write:

<logevent time="2010-01-01 12:34:56.0000" level="ERROR">
   <message>hello, world</message>
</logevent>

<element> defines childs elements to render:

Configuration parameters for Root can also be used for each <element>-element.

<attribute> defines the attributes to render:

XML with attributes and elements

XmlLayout

<layout type='XmlLayout' >
     <attribute name='logger' layout='${logger}' includeEmptyValue='true' />
     <attribute name='level' layout='${uppercase:${level}}' includeEmptyValue='true' />
     <element name='message' value='${message}' />
     <element name='exception'>
         <attribute name='tyoe' layout='${exception:format=type}' />
         <attribute name='message' layout='${exception:format=message}' />
         <attribute name='stacktrace' layout='${exception:format=tostring}' />
     </element>
</layout>

Xml Output

<logevent logger="logger1" level="INFO">
  <message>My log message</message>
  <exception>My exception message</exception>
  <location class-name="MyNamespace.MyClass"></location>
</logevent>
LogEventInfo Properties Default Output

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true">
</layout>

Xml Output

<logevent>
  <property key="PropertyName">PropertyValue</property>
</logevent>
LogEventInfo Properties with element-name override

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true" propertiesElementName="myparm">
</layout>

Xml Output

<logevent>
  <myparm key="PropertyName">PropertyValue</myparm>
</logevent>
LogEventInfo Properties with element-name as property-name

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true" propertiesElementKeyAttribute="" propertiesElementName="{0}">
</layout>

Xml Output

<logevent>
  <PropertyName>PropertyValue</PropertyName>
</logevent>
LogEventInfo Properties Value as attribute:

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true" propertiesElementValueAttribute="value">
</layout>

Xml Output

<logevent>
  <property key="PropertyName" value="PropertyValue"/>
</logevent>
LogEventInfo Properties Dictionary-object Default Output

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true">
</layout>

Xml Output

<logevent>
  <property key="PropertyName"><property key="DictionaryKey">DictionaryValue</property></property>
</logevent>
LogEventInfo Properties List-object Default Output

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true">
</layout>

Xml Output

<logevent>
  <property key="PropertyName"><item>ListValue1</item><item>ListValue2</item></property>
</logevent>
LogEventInfo Properties List-object with element-name override

XmlLayout

<layout xsi:type="XmlLayout" includeEventProperties="true" propertiesCollectionItemName="element">
</layout>

Xml Output

<logevent>
  <property key="PropertyName"><element>ListValue1</element><element>ListValue2</element></property>
</logevent>

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4