XmlLayout Class | Apache log4net™ SDK Documentation

Layout that formats the log events as XML elements.
Inheritance Hierarchy

System
Object
log4net.Layout
LayoutSkeleton
log4net.Layout
XmlLayoutBase
log4net.Layout
XmlLayout

Namespace: log4net.Layout
Assembly: log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.0
Syntax

C#
VB
C++
F#
Copy

    public class XmlLayout : XmlLayoutBase

    Public Class XmlLayout
    	Inherits XmlLayoutBase

    public ref class XmlLayout : public XmlLayoutBase

    type XmlLayout =
        class
            inherit XmlLayoutBase
        end

The XmlLayout type exposes the following members.

Constructors

| Name | Description
--- | --- | ---
| XmlLayout | Constructs an XmlLayout
| XmlLayout(Boolean) | Constructs an XmlLayout.

Top
Properties

| Name | Description
--- | --- | ---
| Base64EncodeMessage | Set whether or not to base64 encode the message.
| Base64EncodeProperties | Set whether or not to base64 encode the property values.
| ContentType | Gets the content type output by this layout. (Inherited from XmlLayoutBase.)
| Footer | The footer for the layout format. (Inherited from LayoutSkeleton.)
| Header | The header for the layout format. (Inherited from LayoutSkeleton.)
| IgnoresException | Flag indicating if this layout handles exceptions (Inherited from LayoutSkeleton.)
| InvalidCharReplacement | The string to replace characters that can not be expressed in XML with. Remarks Not all characters may be expressed in XML. This property contains the string to replace those that can not with. This defaults to a ?. Set it to the empty string to simply remove offending characters. For more details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets Character replacement will occur in the log message, the property names and the property values. (Inherited from XmlLayoutBase.)
| LocationInfo | Gets a value indicating whether to include location information in the XML events. (Inherited from XmlLayoutBase.)
| Prefix | The prefix to use for all element names

Top
Methods

| Name | Description
--- | --- | ---
| ActivateOptions | Initialize layout options (Overrides XmlLayoutBase ActivateOptions .)
| Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
| Finalize | Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
| Format(LoggingEvent) | Convenience method for easily formatting the logging event into a string variable. (Inherited from LayoutSkeleton.)
| Format(TextWriter, LoggingEvent) | Produces a formatted string. (Inherited from XmlLayoutBase.)
| FormatXml | Does the actual writing of the XML. (Overrides XmlLayoutBase FormatXml(XmlWriter, LoggingEvent).)
| GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.)
| GetType | Gets the Type of the current instance. (Inherited from Object.)
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
| ToString | Returns a String that represents the current Object. (Inherited from Object.)

Top
Remarks

The output of the XmlLayout consists of a series of log4net:event elements. It does not output a complete well-formed XML file. The output is designed to be included as an external entity in a separate file to form a correct XML file.

For example, if abc is the name of the file where the XmlLayout output goes, then a well-formed XML file would be:

Copy

    <?xml version="1.0" ?>

    <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]>

    <log4net:events version="1.2" xmlns:log4net=http://logging.apache.orglog4net/schemaslog4net-events-1.2>
        &data;
    </log4net:events>

This approach enforces the independence of the XmlLayout and the appender where it is embedded.

The version attribute helps components to correctly interpret output generated by XmlLayout. The value of this attribute should be "1.2" for release 1.2 and later.

Alternatively the Header and Footer properties can be configured to output the correct XML header, open tag and close tag. When setting the Header and Footer properties it is essential that the underlying data store not be appendable otherwise the data will become invalid XML.

See Also

#### Reference

log4net.Layout Namespace