Thanks, I find the below segment from log4j manual
       ----Note that filtering is only supported by the DOMConfigurator. The
PropertyConfigurator does not support filters.

That's a reason for me to migrate from log4j.properties to log4j.xml.

Best Regards
Xi Yuxiang
System Architect
Maveo Systems Limited
---------------------------------------------------------------------
This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.
 

-----Original Message-----
From: Kevin Dougan [mailto:[EMAIL PROTECTED] 
Sent: 2003年10月9日 21:05
To: Log4J Users List; [EMAIL PROTECTED]
Subject: RE: log4j.properties - How to parse outpu to multiple files

Simple!
Just add one "LevelMax" line, immediately after the "LevelMin" line, to
log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
        </appender>

        <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-debug.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="DEBUG" />
                        <param name="LevelMax" value="DEBUG" />
                </filter>
        </appender>

        <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-info.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="INFO" />
                        <param name="LevelMax" value="INFO" />
                </filter>
   </appender>

        <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-warn.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="WARN" />
                        <param name="LevelMax" value="WARN" />
                </filter>
   </appender>

        <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-error.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="ERROR" />
                        <param name="LevelMax" value="ERROR" />
                </filter>
   </appender>

        <root>
                <priority value="debug"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="DEBUG"/>
        <appender-ref ref="INFO"/>
        <appender-ref ref="WARN"/>
        <appender-ref ref="ERROR"/>
        </root>

</log4j:configuration>

-----Original Message-----
From: Yu Xiang Xi (Maveo) [mailto:[EMAIL PROTECTED]
Sent: October 9, 2003 5:07 AM
To: 'Log4J Users List'
Subject: RE: log4j.properties - How to parse outpu to multiple files


Setting Threshold=ERROR can force log4j to log the higher priority loggings
of ERROR & FATAL, as demonstrated by Adrian Janssen said below.

But I'm wondering to know if there's a way to log only ERROR loggings, no
FATAL in one appender. That is, one appender to log only one level; not to
log one level and its higher levels.

Xi Yuxiang
System Architect
Maveo Systems Limited
---------------------------------------------------------------------
This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.
 

-----Original Message-----
From: Adrian Janssen [mailto:[EMAIL PROTECTED] 
Sent: 2003年10月9日 16:47
To: 'Log4J Users List'
Subject: RE: log4j.properties - How to parse outpu to multiple files

actually there is some filtering ability available in the normal properties
file, probably enough for you needs:

log4j.appender.MyAppender.Threshold=INFO

Cheers
Adrian

-----Original Message-----
From: Kevin Dougan [mailto:[EMAIL PROTECTED]
Sent: 09 October 2003 05:16
To: Log4J Users List
Subject: RE: log4j.properties - How to parse outpu to multiple files


Eureka! I have a solution! I now have my logging messages split out into the
4 types that I support: DEBUG, INFO, WARN & ERROR. My app-debug.log file
contains everything, down to my app-error.log file which only contains
errors!

Why is it that these moments tend to occur after midnight...   :-)

Note: I switched from log4j.properties to log4j.xml in order to take
advantage of filters, which aren't supported in the properties file.

Here's my log4j.xml file, enjoy:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
        </appender>

        <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-debug.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
        </appender>

        <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-info.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="INFO" />
                </filter>
   </appender>

        <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-warn.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="WARN" />
                </filter>
   </appender>

        <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="C:\\logs\\app-error.log"/>
      <param name="Append" value="true"/>
      <param name="MaxFileSize" value="500KB"/>
      <param name="MaxBackupIndex" value="2"/>
                <layout class="org.apache.log4j.PatternLayout">
                     <param name="ConversionPattern" value="%c %d{ISO8601}
-- %p -- %m%n"/>
                </layout>
                <filter class="org.apache.log4j.varia.LevelRangeFilter">
                        <param name="LevelMin" value="ERROR" />
                </filter>
   </appender>

        <root>
                <priority value="debug"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="DEBUG"/>
        <appender-ref ref="INFO"/>
        <appender-ref ref="WARN"/>
        <appender-ref ref="ERROR"/>
        </root>

</log4j:configuration>

-----Original Message-----
From: Kevin Dougan 
Sent: October 8, 2003 3:09 PM
To: [EMAIL PROTECTED]
Subject: log4j.properties - How to parse outpu to multiple files


Greetings log4j list!

I'd like my logging output to be sent to multiple files at once. However, I
only want ERRORs in the app-error.log file, DEBUG in the app-debug.log file,
etc. As a potential compromise, I would be OK if I was able to at least
reduce the types of log messages as the severity increased.

Can anyone assist with my log4.properties file? I've included a copy below,
but note that this config sends all the logging output to all files.

In addition, is there a way to avoid all the duplication in this config
file, so I just have to change the name of the output file in each case, and
inherit all the RollingFileAppender settings as I define each file?

Thanks!

log4j.threshold=ALL
log4j.rootLogger=ALL, stdout, DebugAppender, InfoAppender, WarnAppender,
ErrorAppender

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c %d{ISO8601} -- %p -- %m%n

log4j.logger.DebugAppender.access=DEBUG
log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.File=C:\\logs\\app-debug.log
log4j.appender.DebugAppender.MaxFileSize=500KB
log4j.appender.DebugAppender.MaxBackupIndex=10
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p
-- %m%n

log4j.logger.InfoAppender.access=INFO
log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.File=C:\\logs\\app-info.log
log4j.appender.InfoAppender.MaxFileSize=500KB
log4j.appender.InfoAppender.MaxBackupIndex=10
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p --
%m%n

log4j.logger.WarnAppender.access=WARN
log4j.appender.WarnAppender=org.apache.log4j.RollingFileAppender
log4j.appender.WarnAppender.File=C:\\logs\\app-warn.log
log4j.appender.WarnAppender.MaxFileSize=500KB
log4j.appender.WarnAppender.MaxBackupIndex=10
log4j.appender.WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.WarnAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p --
%m%n

log4j.logger.ErrorAppender.access=ERROR
log4j.appender.ErrorAppender=org.apache.log4j.RollingFileAppender
log4j.appender.ErrorAppender.File=C:\\logs\\app-error.log
log4j.appender.ErrorAppender.MaxFileSize=500KB
log4j.appender.ErrorAppender.MaxBackupIndex=10
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.layout.ConversionPattern=%c %d{ISO8601} -- %p
-- %m%n

Kevin Dougan - [EMAIL PROTECTED]
Systems Architect
IT - Business Systems
Research In Motion - www.rim.com
BlackBerry Cell: 519-572-9417
Desk Phone: 519-888-7465  ext. 2451

This transmission may contain confidential or privileged material. Any use
of this information by anyone other than the intended recipient is
prohibited. If you have received this transmission in error, please
immediately reply to the sender and delete this information from your
system. Use, dissemination, distribution, or reproduction of this
transmission by unintended recipients is not authorized and may be unlawful.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to