1<?xml version="1.0" encoding="UTF-8" ?>
2
3<!-- log4j-1.2.dtd is included in the log4perl distribution
4for your convenience.  The log4perl dtd is based on this 
5version of the log4j.dtd -->
6
7<!-- Authors: Chris Taylor, Ceki Gulcu. -->
8
9<!-- Version: 1.2 -->
10
11<!-- A configuration element consists of optional renderer
12elements,appender elements, categories and an optional root
13element. -->
14
15<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
16                               categoryFactory?)>
17
18<!-- The "threshold" attribute takes a level value such that all -->
19<!-- logging statements with a level equal or below this value are -->
20<!-- disabled. -->
21
22<!-- Setting the "debug" enable the printing of internal log4j logging   -->
23<!-- statements.                                                         -->
24
25<!-- By default, debug attribute is "null", meaning that we not do touch -->
26<!-- internal log4j logging settings. The "null" value for the threshold -->
27<!-- attribute can be misleading. The threshold field of a repository	 -->
28<!-- cannot be set to null. The "null" value for the threshold attribute -->
29<!-- simply means don't touch the threshold field, the threshold field   --> 
30<!-- keeps its old value.                                                -->
31     
32<!ATTLIST log4j:configuration
33  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
34  threshold                (all|debug|info|warn|error|fatal|off|null) "null"
35  debug                    (true|false|null)  "null"
36>
37
38<!-- renderer elements allow the user to customize the conversion of  -->
39<!-- message objects to String.                                       -->
40
41<!ELEMENT renderer EMPTY>
42<!ATTLIST renderer
43  renderedClass  CDATA #REQUIRED
44  renderingClass CDATA #REQUIRED
45>
46
47<!-- Appenders must have a name and a class. -->
48<!-- Appenders may contain an error handler, a layout, optional parameters -->
49<!-- and filters. They may also reference (or include) other appenders. -->
50<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
51<!ATTLIST appender
52  name 		ID 	#REQUIRED
53  class 	CDATA	#REQUIRED
54>
55
56<!ELEMENT layout (param*)>
57<!ATTLIST layout
58  class		CDATA	#REQUIRED
59>
60
61<!ELEMENT filter (param*)>
62<!ATTLIST filter
63  class		CDATA	#REQUIRED
64>
65
66<!-- ErrorHandlers can be of any class. They can admit any number of -->
67<!-- parameters. -->
68
69<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
70<!ATTLIST errorHandler
71   class        CDATA   #REQUIRED 
72>
73
74<!ELEMENT root-ref EMPTY>
75
76<!ELEMENT logger-ref EMPTY>
77<!ATTLIST logger-ref
78  ref IDREF #REQUIRED
79>
80
81<!ELEMENT param EMPTY>
82<!ATTLIST param
83  name		CDATA   #REQUIRED
84  value		CDATA	#REQUIRED
85>
86
87
88<!-- The priority class is org.apache.log4j.Level by default -->
89<!ELEMENT priority (param*)>
90<!ATTLIST priority
91  class   CDATA	#IMPLIED
92  value	  CDATA #REQUIRED
93>
94
95<!-- The level class is org.apache.log4j.Level by default -->
96<!ELEMENT level (param*)>
97<!ATTLIST level
98  class   CDATA	#IMPLIED
99  value	  CDATA #REQUIRED
100>
101
102
103<!-- If no level element is specified, then the configurator MUST not -->
104<!-- touch the level of the named category. -->
105<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
106<!ATTLIST category
107  class         CDATA   #IMPLIED
108  name		CDATA	#REQUIRED
109  additivity	(true|false) "true"  
110>
111
112<!-- If no level element is specified, then the configurator MUST not -->
113<!-- touch the level of the named logger. -->
114<!ELEMENT logger (level?,appender-ref*)>
115<!ATTLIST logger
116  name		ID	#REQUIRED
117  additivity	(true|false) "true"  
118>
119
120
121<!ELEMENT categoryFactory (param*)>
122<!ATTLIST categoryFactory 
123   class        CDATA #REQUIRED>
124
125<!ELEMENT appender-ref EMPTY>
126<!ATTLIST appender-ref
127  ref IDREF #REQUIRED
128>
129
130<!-- If no priority element is specified, then the configurator MUST not -->
131<!-- touch the priority of root. -->
132<!-- The root category always exists and cannot be subclassed. -->
133<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
134
135
136<!-- ==================================================================== -->
137<!--                       A logging event                                -->
138<!-- ==================================================================== -->
139<!ELEMENT log4j:eventSet (log4j:event*)>
140<!ATTLIST log4j:eventSet
141  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
142  version                (1.1|1.2) "1.2" 
143  includesLocationInfo   (true|false) "true"
144>
145
146
147
148<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
149                       log4j:locationInfo?) >
150
151<!-- The timestamp format is application dependent. -->
152<!ATTLIST log4j:event
153    logger     CDATA #REQUIRED
154    level      CDATA #REQUIRED
155    thread     CDATA #REQUIRED
156    timestamp  CDATA #REQUIRED
157>
158
159<!ELEMENT log4j:message (#PCDATA)>
160<!ELEMENT log4j:NDC (#PCDATA)>
161
162<!ELEMENT log4j:throwable (#PCDATA)>
163
164<!ELEMENT log4j:locationInfo EMPTY>
165<!ATTLIST log4j:locationInfo
166  class  CDATA	#REQUIRED
167  method CDATA	#REQUIRED
168  file   CDATA	#REQUIRED
169  line   CDATA	#REQUIRED
170>
171