You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Cindy Wong <cw...@pu-gong-ying.info> on 2011/03/29 01:09:52 UTC

Why There isn't a Log File?

I have used log4j before with the property file configuration. For this
new project, I have the XML configuration. The console output seems to be
fine. Any changes on log level and layout will reflect on log messages on
the console right away.

I, however, can't get any log file for some reasons. To my understanding,
to use a log file, I need to use the
log4j-user-subscribe@logging.apache.org class and what is the name is
important.

The followings are the xml configuration and the dtd. Can someone tell me
what is wrong?

<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"> -->
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN"
"log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- <log4j:configuration debug="true">  -->
	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-5p: %c{1}:%L - %m%n" />
		</layout>
	</appender>

    <appender name="file" class="org.apache.log4j.RollingFileAppender">
		<param name="maxFileSize" value="100KB" />
		<param name="maxBackupIndex" value="5" />
        <param name="File" value="c:\myproj\myapp\logs\mylog.log" />
        <param name="Append" value="true" />
        <layout class="org.apache.log4j.PatternLayout">
       		<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L)
- %m%n"/>
        </layout>
    </appender>

	<!-- Application Loggers -->
	<logger name="com.mycom.myapp">
		<level value="debug" />
	</logger>

	<!-- 3rdparty Loggers -->
...

	<!-- Root Logger -->
	<root>
		<priority value="warn" />
		<appender-ref ref="console" />
	</root>

</log4j:configuration>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<?xml version="1.0" encoding="UTF-8" ?>

<!-- A configuration element consists of optional renderer
elements,appender elements, categories and an optional root
element. -->

<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?,
                               categoryFactory?)>

<!-- The "threshold" attribute takes a level value such that all -->
<!-- logging statements with a level equal or below this value are -->
<!-- disabled. -->

<!-- Setting the "debug" enable the printing of internal log4j logging   -->
<!-- statements.                                                         -->

<!-- By default, debug attribute is "null", meaning that we not do touch -->
<!-- internal log4j logging settings. The "null" value for the threshold -->
<!-- attribute can be misleading. The threshold field of a repository	 -->
<!-- cannot be set to null. The "null" value for the threshold attribute -->
<!-- simply means don't touch the threshold field, the threshold field   -->
<!-- keeps its old value.                                                -->

<!ATTLIST log4j:configuration
  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/"
  threshold                (all|debug|info|warn|error|fatal|off|null) "null"
  debug                    (true|false|null)  "null"
>

<!-- renderer elements allow the user to customize the conversion of  -->
<!-- message objects to String.                                       -->

<!ELEMENT renderer EMPTY>
<!ATTLIST renderer
  renderedClass  CDATA #REQUIRED
  renderingClass CDATA #REQUIRED
>

<!-- Appenders must have a name and a class. -->
<!-- Appenders may contain an error handler, a layout, optional parameters
-->
<!-- and filters. They may also reference (or include) other appenders. -->
<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
<!ATTLIST appender
  name 		ID 	#REQUIRED
  class 	CDATA	#REQUIRED
>

<!ELEMENT layout (param*)>
<!ATTLIST layout
  class		CDATA	#REQUIRED
>

<!ELEMENT filter (param*)>
<!ATTLIST filter
  class		CDATA	#REQUIRED
>

<!-- ErrorHandlers can be of any class. They can admit any number of -->
<!-- parameters. -->

<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)>
<!ATTLIST errorHandler
   class        CDATA   #REQUIRED
>

<!ELEMENT root-ref EMPTY>

<!ELEMENT logger-ref EMPTY>
<!ATTLIST logger-ref
  ref IDREF #REQUIRED
>

<!ELEMENT param EMPTY>
<!ATTLIST param
  name		CDATA   #REQUIRED
  value		CDATA	#REQUIRED
>


<!-- The priority class is org.apache.log4j.Level by default -->
<!ELEMENT priority (param*)>
<!ATTLIST priority
  class   CDATA	#IMPLIED
  value	  CDATA #REQUIRED
>

<!-- The level class is org.apache.log4j.Level by default -->
<!ELEMENT level (param*)>
<!ATTLIST level
  class   CDATA	#IMPLIED
  value	  CDATA #REQUIRED
>


<!-- If no level element is specified, then the configurator MUST not -->
<!-- touch the level of the named category. -->
<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
<!ATTLIST category
  class         CDATA   #IMPLIED
  name		CDATA	#REQUIRED
  additivity	(true|false) "true"
>

<!-- If no level element is specified, then the configurator MUST not -->
<!-- touch the level of the named logger. -->
<!ELEMENT logger (level?,appender-ref*)>
<!ATTLIST logger
  name		ID	#REQUIRED
  additivity	(true|false) "true"
>


<!ELEMENT categoryFactory (param*)>
<!ATTLIST categoryFactory
   class        CDATA #REQUIRED>

<!ELEMENT appender-ref EMPTY>
<!ATTLIST appender-ref
  ref IDREF #REQUIRED
>

<!-- If no priority element is specified, then the configurator MUST not -->
<!-- touch the priority of root. -->
<!-- The root category always exists and cannot be subclassed. -->
<!ELEMENT root (param*, (priority|level)?, appender-ref*)>


<!-- ==================================================================== -->
<!--                       A logging event                                -->
<!-- ==================================================================== -->
<!ELEMENT log4j:eventSet (log4j:event*)>
<!ATTLIST log4j:eventSet
  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/"
  version                (1.1|1.2) "1.2"
  includesLocationInfo   (true|false) "true"
>



<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
                       log4j:locationInfo?) >

<!-- The timestamp format is application dependent. -->
<!ATTLIST log4j:event
    logger     CDATA #REQUIRED
    level      CDATA #REQUIRED
    thread     CDATA #REQUIRED
    timestamp  CDATA #REQUIRED
>

<!ELEMENT log4j:message (#PCDATA)>
<!ELEMENT log4j:NDC (#PCDATA)>

<!ELEMENT log4j:throwable (#PCDATA)>

<!ELEMENT log4j:locationInfo EMPTY>
<!ATTLIST log4j:locationInfo
  class  CDATA	#REQUIRED
  method CDATA	#REQUIRED
  file   CDATA	#REQUIRED
  line   CDATA	#REQUIRED
>




---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Why There isn't a Log File?

Posted by Geoffry Roberts <ge...@gmail.com>.
Cindy,

I have successfully run Tomcat using either properties or xml. I was forced
to use xml, when I decided to try use Chainsaw. But it worked.

On Mar 30, 2011 1:15 PM, "Cindy Wong" <cw...@pu-gong-ying.info> wrote:

To answer my own question, according to Tomcat document, the problem is
with TC. I need to use the property configuration file format instead.



> I have used log4j before with the property file configuration. For this
> new project, I have th...
> --------------------------------
> Spam/Virus scanning by CanIt Pro
>
> For more information see
> http://www.kgbinternet.com/SpamFilter.htm
>
> To control your spam filter, log in at
> http://filter.kgbinternet.com

>



---------------------------------------------------------------------
To unsubscribe, e-mail: l...

Re: Why There isn't a Log File?

Posted by Jacob Kjome <ho...@visi.com>.
You can use an XML config file just fine under Tomcat (with caveats... see below).
 I see two issues with your current XML config, though....

1.  The doctype should be...

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

2.  The path in...

<param name="File" value="c:\myproj\myapp\logs\mylog.log" />

...should be either...

<param name="File" value="c:\\myproj\\myapp\\logs\\mylog.log" />

...or...

<param name="File" value="c:/myproj/myapp/logs/mylog.log" />


I mentioned a caveat above about using XML config files in Tomcat.  By that, I
mean using it specifically for Tomcat logging, not just general application
logging.  You can, unless you choose to reference Tomcat loggers named using
square brackets, as they are disallowed by the DTD.  For instance, to reference
Tomcat's "localhost" logger, you'd use...

org.apache.catalina.core.ContainerBase.[Catalina].[localhost]


Using XML, it would be...

    <logger name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost]"
additivity="false">
        <level value="INFO"/>
        <appender-ref ref="LOCALHOST"/>
    </logger>


But the "name" doesn't attribute doesn't allow square brackets and the config file
fails DTD validation because the "name" attribute is defined as type "ID".  That
said, I think there might be a workaround.  If you use the deprecated <category>
rather than <logger> it might work because, for the former, the "name" attribute
is of type "CDATA" rather than "ID".  So, all you'd have to do is use...

    <category name="org.apache.catalina.core.ContainerBase.[Catalina].[localhost]"
additivity="false">
        <level value="INFO"/>
        <appender-ref ref="LOCALHOST"/>
    </category>


Try that and see if it works.


Jake


On 3/30/2011 11:15 AM, Cindy Wong wrote:
> To answer my own question, according to Tomcat document, the problem is
> with TC. I need to use the property configuration file format instead.
> 
> 
>> I have used log4j before with the property file configuration. For this
>> new project, I have the XML configuration. The console output seems to be
>> fine. Any changes on log level and layout will reflect on log messages on
>> the console right away.
>>
>> I, however, can't get any log file for some reasons. To my understanding,
>> to use a log file, I need to use the
>> log4j-user-subscribe@logging.apache.org class and what is the name is
>> important.
>>
>> The followings are the xml configuration and the dtd. Can someone tell me
>> what is wrong?
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!-- <!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"> -->
>> <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN"
>> "log4j.dtd">
>> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
>> <!-- <log4j:configuration debug="true">  -->
>> 	<!-- Appenders -->
>> 	<appender name="console" class="org.apache.log4j.ConsoleAppender">
>> 		<param name="Target" value="System.out" />
>> 		<layout class="org.apache.log4j.PatternLayout">
>> 			<param name="ConversionPattern" value="%-5p: %c{1}:%L - %m%n" />
>> 		</layout>
>> 	</appender>
>>
>>     <appender name="file" class="org.apache.log4j.RollingFileAppender">
>> 		<param name="maxFileSize" value="100KB" />
>> 		<param name="maxBackupIndex" value="5" />
>>         <param name="File" value="c:\myproj\myapp\logs\mylog.log" />
>>         <param name="Append" value="true" />
>>         <layout class="org.apache.log4j.PatternLayout">
>>        		<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L)
>> - %m%n"/>
>>         </layout>
>>     </appender>
>>
>> 	<!-- Application Loggers -->
>> 	<logger name="com.mycom.myapp">
>> 		<level value="debug" />
>> 	</logger>
>>
>> 	<!-- 3rdparty Loggers -->
>> ...
>>
>> 	<!-- Root Logger -->
>> 	<root>
>> 		<priority value="warn" />
>> 		<appender-ref ref="console" />
>> 	</root>
>>
>> </log4j:configuration>
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> <?xml version="1.0" encoding="UTF-8" ?>
>>
>> <!-- A configuration element consists of optional renderer
>> elements,appender elements, categories and an optional root
>> element. -->
>>
>> <!ELEMENT log4j:configuration (renderer*,
>> appender*,(category|logger)*,root?,
>>                                categoryFactory?)>
>>
>> <!-- The "threshold" attribute takes a level value such that all -->
>> <!-- logging statements with a level equal or below this value are -->
>> <!-- disabled. -->
>>
>> <!-- Setting the "debug" enable the printing of internal log4j logging
>> -->
>> <!-- statements.
>> -->
>>
>> <!-- By default, debug attribute is "null", meaning that we not do touch
>> -->
>> <!-- internal log4j logging settings. The "null" value for the threshold
>> -->
>> <!-- attribute can be misleading. The threshold field of a repository	 -->
>> <!-- cannot be set to null. The "null" value for the threshold attribute
>> -->
>> <!-- simply means don't touch the threshold field, the threshold field
>> -->
>> <!-- keeps its old value.
>> -->
>>
>> <!ATTLIST log4j:configuration
>>   xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/"
>>   threshold                (all|debug|info|warn|error|fatal|off|null)
>> "null"
>>   debug                    (true|false|null)  "null"
>>>
>>
>> <!-- renderer elements allow the user to customize the conversion of  -->
>> <!-- message objects to String.                                       -->
>>
>> <!ELEMENT renderer EMPTY>
>> <!ATTLIST renderer
>>   renderedClass  CDATA #REQUIRED
>>   renderingClass CDATA #REQUIRED
>>>
>>
>> <!-- Appenders must have a name and a class. -->
>> <!-- Appenders may contain an error handler, a layout, optional parameters
>> -->
>> <!-- and filters. They may also reference (or include) other appenders.
>> -->
>> <!ELEMENT appender (errorHandler?, param*, layout?, filter*,
>> appender-ref*)>
>> <!ATTLIST appender
>>   name 		ID 	#REQUIRED
>>   class 	CDATA	#REQUIRED
>>>
>>
>> <!ELEMENT layout (param*)>
>> <!ATTLIST layout
>>   class		CDATA	#REQUIRED
>>>
>>
>> <!ELEMENT filter (param*)>
>> <!ATTLIST filter
>>   class		CDATA	#REQUIRED
>>>
>>
>> <!-- ErrorHandlers can be of any class. They can admit any number of -->
>> <!-- parameters. -->
>>
>> <!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)>
>> <!ATTLIST errorHandler
>>    class        CDATA   #REQUIRED
>>>
>>
>> <!ELEMENT root-ref EMPTY>
>>
>> <!ELEMENT logger-ref EMPTY>
>> <!ATTLIST logger-ref
>>   ref IDREF #REQUIRED
>>>
>>
>> <!ELEMENT param EMPTY>
>> <!ATTLIST param
>>   name		CDATA   #REQUIRED
>>   value		CDATA	#REQUIRED
>>>
>>
>>
>> <!-- The priority class is org.apache.log4j.Level by default -->
>> <!ELEMENT priority (param*)>
>> <!ATTLIST priority
>>   class   CDATA	#IMPLIED
>>   value	  CDATA #REQUIRED
>>>
>>
>> <!-- The level class is org.apache.log4j.Level by default -->
>> <!ELEMENT level (param*)>
>> <!ATTLIST level
>>   class   CDATA	#IMPLIED
>>   value	  CDATA #REQUIRED
>>>
>>
>>
>> <!-- If no level element is specified, then the configurator MUST not -->
>> <!-- touch the level of the named category. -->
>> <!ELEMENT category (param*,(priority|level)?,appender-ref*)>
>> <!ATTLIST category
>>   class         CDATA   #IMPLIED
>>   name		CDATA	#REQUIRED
>>   additivity	(true|false) "true"
>>>
>>
>> <!-- If no level element is specified, then the configurator MUST not -->
>> <!-- touch the level of the named logger. -->
>> <!ELEMENT logger (level?,appender-ref*)>
>> <!ATTLIST logger
>>   name		ID	#REQUIRED
>>   additivity	(true|false) "true"
>>>
>>
>>
>> <!ELEMENT categoryFactory (param*)>
>> <!ATTLIST categoryFactory
>>    class        CDATA #REQUIRED>
>>
>> <!ELEMENT appender-ref EMPTY>
>> <!ATTLIST appender-ref
>>   ref IDREF #REQUIRED
>>>
>>
>> <!-- If no priority element is specified, then the configurator MUST not
>> -->
>> <!-- touch the priority of root. -->
>> <!-- The root category always exists and cannot be subclassed. -->
>> <!ELEMENT root (param*, (priority|level)?, appender-ref*)>
>>
>>
>> <!-- ====================================================================
>> -->
>> <!--                       A logging event
>> -->
>> <!-- ====================================================================
>> -->
>> <!ELEMENT log4j:eventSet (log4j:event*)>
>> <!ATTLIST log4j:eventSet
>>   xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/"
>>   version                (1.1|1.2) "1.2"
>>   includesLocationInfo   (true|false) "true"
>>>
>>
>>
>>
>> <!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
>>                        log4j:locationInfo?) >
>>
>> <!-- The timestamp format is application dependent. -->
>> <!ATTLIST log4j:event
>>     logger     CDATA #REQUIRED
>>     level      CDATA #REQUIRED
>>     thread     CDATA #REQUIRED
>>     timestamp  CDATA #REQUIRED
>>>
>>
>> <!ELEMENT log4j:message (#PCDATA)>
>> <!ELEMENT log4j:NDC (#PCDATA)>
>>
>> <!ELEMENT log4j:throwable (#PCDATA)>
>>
>> <!ELEMENT log4j:locationInfo EMPTY>
>> <!ATTLIST log4j:locationInfo
>>   class  CDATA	#REQUIRED
>>   method CDATA	#REQUIRED
>>   file   CDATA	#REQUIRED
>>   line   CDATA	#REQUIRED
>>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>
>>
>> --------------------------------
>> Spam/Virus scanning by CanIt Pro
>>
>> For more information see
>> http://www.kgbinternet.com/SpamFilter.htm
>>
>> To control your spam filter, log in at
>> http://filter.kgbinternet.com
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Re: Why There isn't a Log File?

Posted by Cindy Wong <cw...@pu-gong-ying.info>.
To answer my own question, according to Tomcat document, the problem is
with TC. I need to use the property configuration file format instead.


> I have used log4j before with the property file configuration. For this
> new project, I have the XML configuration. The console output seems to be
> fine. Any changes on log level and layout will reflect on log messages on
> the console right away.
>
> I, however, can't get any log file for some reasons. To my understanding,
> to use a log file, I need to use the
> log4j-user-subscribe@logging.apache.org class and what is the name is
> important.
>
> The followings are the xml configuration and the dtd. Can someone tell me
> what is wrong?
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- <!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"> -->
> <!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN"
> "log4j.dtd">
> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
> <!-- <log4j:configuration debug="true">  -->
> 	<!-- Appenders -->
> 	<appender name="console" class="org.apache.log4j.ConsoleAppender">
> 		<param name="Target" value="System.out" />
> 		<layout class="org.apache.log4j.PatternLayout">
> 			<param name="ConversionPattern" value="%-5p: %c{1}:%L - %m%n" />
> 		</layout>
> 	</appender>
>
>     <appender name="file" class="org.apache.log4j.RollingFileAppender">
> 		<param name="maxFileSize" value="100KB" />
> 		<param name="maxBackupIndex" value="5" />
>         <param name="File" value="c:\myproj\myapp\logs\mylog.log" />
>         <param name="Append" value="true" />
>         <layout class="org.apache.log4j.PatternLayout">
>        		<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L)
> - %m%n"/>
>         </layout>
>     </appender>
>
> 	<!-- Application Loggers -->
> 	<logger name="com.mycom.myapp">
> 		<level value="debug" />
> 	</logger>
>
> 	<!-- 3rdparty Loggers -->
> ...
>
> 	<!-- Root Logger -->
> 	<root>
> 		<priority value="warn" />
> 		<appender-ref ref="console" />
> 	</root>
>
> </log4j:configuration>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <?xml version="1.0" encoding="UTF-8" ?>
>
> <!-- A configuration element consists of optional renderer
> elements,appender elements, categories and an optional root
> element. -->
>
> <!ELEMENT log4j:configuration (renderer*,
> appender*,(category|logger)*,root?,
>                                categoryFactory?)>
>
> <!-- The "threshold" attribute takes a level value such that all -->
> <!-- logging statements with a level equal or below this value are -->
> <!-- disabled. -->
>
> <!-- Setting the "debug" enable the printing of internal log4j logging
> -->
> <!-- statements.
> -->
>
> <!-- By default, debug attribute is "null", meaning that we not do touch
> -->
> <!-- internal log4j logging settings. The "null" value for the threshold
> -->
> <!-- attribute can be misleading. The threshold field of a repository	 -->
> <!-- cannot be set to null. The "null" value for the threshold attribute
> -->
> <!-- simply means don't touch the threshold field, the threshold field
> -->
> <!-- keeps its old value.
> -->
>
> <!ATTLIST log4j:configuration
>   xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/"
>   threshold                (all|debug|info|warn|error|fatal|off|null)
> "null"
>   debug                    (true|false|null)  "null"
>>
>
> <!-- renderer elements allow the user to customize the conversion of  -->
> <!-- message objects to String.                                       -->
>
> <!ELEMENT renderer EMPTY>
> <!ATTLIST renderer
>   renderedClass  CDATA #REQUIRED
>   renderingClass CDATA #REQUIRED
>>
>
> <!-- Appenders must have a name and a class. -->
> <!-- Appenders may contain an error handler, a layout, optional parameters
> -->
> <!-- and filters. They may also reference (or include) other appenders.
> -->
> <!ELEMENT appender (errorHandler?, param*, layout?, filter*,
> appender-ref*)>
> <!ATTLIST appender
>   name 		ID 	#REQUIRED
>   class 	CDATA	#REQUIRED
>>
>
> <!ELEMENT layout (param*)>
> <!ATTLIST layout
>   class		CDATA	#REQUIRED
>>
>
> <!ELEMENT filter (param*)>
> <!ATTLIST filter
>   class		CDATA	#REQUIRED
>>
>
> <!-- ErrorHandlers can be of any class. They can admit any number of -->
> <!-- parameters. -->
>
> <!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)>
> <!ATTLIST errorHandler
>    class        CDATA   #REQUIRED
>>
>
> <!ELEMENT root-ref EMPTY>
>
> <!ELEMENT logger-ref EMPTY>
> <!ATTLIST logger-ref
>   ref IDREF #REQUIRED
>>
>
> <!ELEMENT param EMPTY>
> <!ATTLIST param
>   name		CDATA   #REQUIRED
>   value		CDATA	#REQUIRED
>>
>
>
> <!-- The priority class is org.apache.log4j.Level by default -->
> <!ELEMENT priority (param*)>
> <!ATTLIST priority
>   class   CDATA	#IMPLIED
>   value	  CDATA #REQUIRED
>>
>
> <!-- The level class is org.apache.log4j.Level by default -->
> <!ELEMENT level (param*)>
> <!ATTLIST level
>   class   CDATA	#IMPLIED
>   value	  CDATA #REQUIRED
>>
>
>
> <!-- If no level element is specified, then the configurator MUST not -->
> <!-- touch the level of the named category. -->
> <!ELEMENT category (param*,(priority|level)?,appender-ref*)>
> <!ATTLIST category
>   class         CDATA   #IMPLIED
>   name		CDATA	#REQUIRED
>   additivity	(true|false) "true"
>>
>
> <!-- If no level element is specified, then the configurator MUST not -->
> <!-- touch the level of the named logger. -->
> <!ELEMENT logger (level?,appender-ref*)>
> <!ATTLIST logger
>   name		ID	#REQUIRED
>   additivity	(true|false) "true"
>>
>
>
> <!ELEMENT categoryFactory (param*)>
> <!ATTLIST categoryFactory
>    class        CDATA #REQUIRED>
>
> <!ELEMENT appender-ref EMPTY>
> <!ATTLIST appender-ref
>   ref IDREF #REQUIRED
>>
>
> <!-- If no priority element is specified, then the configurator MUST not
> -->
> <!-- touch the priority of root. -->
> <!-- The root category always exists and cannot be subclassed. -->
> <!ELEMENT root (param*, (priority|level)?, appender-ref*)>
>
>
> <!-- ====================================================================
> -->
> <!--                       A logging event
> -->
> <!-- ====================================================================
> -->
> <!ELEMENT log4j:eventSet (log4j:event*)>
> <!ATTLIST log4j:eventSet
>   xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/"
>   version                (1.1|1.2) "1.2"
>   includesLocationInfo   (true|false) "true"
>>
>
>
>
> <!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?,
>                        log4j:locationInfo?) >
>
> <!-- The timestamp format is application dependent. -->
> <!ATTLIST log4j:event
>     logger     CDATA #REQUIRED
>     level      CDATA #REQUIRED
>     thread     CDATA #REQUIRED
>     timestamp  CDATA #REQUIRED
>>
>
> <!ELEMENT log4j:message (#PCDATA)>
> <!ELEMENT log4j:NDC (#PCDATA)>
>
> <!ELEMENT log4j:throwable (#PCDATA)>
>
> <!ELEMENT log4j:locationInfo EMPTY>
> <!ATTLIST log4j:locationInfo
>   class  CDATA	#REQUIRED
>   method CDATA	#REQUIRED
>   file   CDATA	#REQUIRED
>   line   CDATA	#REQUIRED
>>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org
>
>
> --------------------------------
> Spam/Virus scanning by CanIt Pro
>
> For more information see
> http://www.kgbinternet.com/SpamFilter.htm
>
> To control your spam filter, log in at
> http://filter.kgbinternet.com
>



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org