The output of the XMLLayout consists of a series of log4j:event
elements as defined in the log4j.dtd. 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 ouput goes, then a well-formed XML file would be:
<?xml version="1.0" ?>
<!DOCTYPE log4j:eventSet SYSTEM "log4j.dtd" [<!ENTITY data SYSTEM "abc">]>
<log4j:eventSet version="1.2" xmlns:log4j="http://jakarta.apache.org/log4j/">
&data;
</log4j:eventSet>
This approach enforces the independence of the XMLLayout and the
appender where it is embedded.
The version attribute helps components to correctly
intrepret output generated by XMLLayout. The value of this
attribute should be "1.1" for output generated by log4j versions
prior to log4j 1.2 (final release) and "1.2" for relase 1.2 and
later.
Appenders using this layout should have their encoding
set to UTF-8 or UTF-16, otherwise events containing
non ASCII characters could result in corrupted
log files. |