Return-Path: Delivered-To: apmail-jakarta-log4j-dev-archive@apache.org Received: (qmail 19807 invoked from network); 30 Oct 2002 16:52:32 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 30 Oct 2002 16:52:32 -0000 Received: (qmail 23859 invoked by uid 97); 30 Oct 2002 16:53:09 -0000 Delivered-To: qmlist-jakarta-archive-log4j-dev@jakarta.apache.org Received: (qmail 23566 invoked by uid 97); 30 Oct 2002 16:53:06 -0000 Mailing-List: contact log4j-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Log4J Developers List" Reply-To: "Log4J Developers List" Delivered-To: mailing list log4j-dev@jakarta.apache.org Received: (qmail 23370 invoked by uid 98); 30 Oct 2002 16:53:04 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Message-ID: <03b801c28034$a3904130$c07bc839@accorhotels.com> From: LAMY Olivier Reply-To: LAMY Olivier To: log4j-dev@jakarta.apache.org Subject: new filter Date: Wed, 30 Oct 2002 17:51:48 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N sample in the config file the class : package org.apache.log4j.varia; import java.util.HashSet; import java.util.StringTokenizer; import org.apache.log4j.Level; import org.apache.log4j.spi.Filter; import org.apache.log4j.spi.LoggingEvent; /** * The filter admits two options ClassList et MinimumLevel *

if the log event is in the class list and his level is greater = than the MinimumLevel {@link Filter#ACCEPT}is returned else {@link Filter#DENY} = is returned

*

if the log event is not in the class list {@link Filter#NEUTRAL} = is returned * @author Olivier Lamy * */ public class FilterOnClasses extends Filter { /** a string contained the class separated by a comma*/ String ClassList; /** HashSet which contains all the classes to filter */ private HashSet ClassesHashSet; /** minimum level */ Level minimumLevel; /** * Constructor for Log4jFilterOnClass. */ /*public Log4jFilterOnClass() { super(); }*/ /** * Return the decision of this filter. * @see org.apache.log4j.spi.Filter#decide(LoggingEvent) */ public int decide(LoggingEvent event) { if (this.ClassesHashSet.contains(event.getLoggerName())) { /** logger is in the filter list next step test on the level */ if (event.getLevel().isGreaterOrEqual(minimumLevel) =3D=3D false) = return Filter.DENY; return Filter.ACCEPT; } return Filter.NEUTRAL; } /** * Returns the classList. * @return String */ public String getClassList() { return ClassList; } /** * Returns the minimumLevel. * @return Level */ public Level getMinimumLevel() { return minimumLevel; } /** * Sets the classList. * @param classList The classList to set */ public void setClassList(String classList) { ClassList=3D classList; StringTokenizer classesStringTokenizer =3D new = StringTokenizer(classList,","); this.ClassesHashSet =3D new = HashSet(classesStringTokenizer.countTokens()); while (classesStringTokenizer.hasMoreTokens()) { this.ClassesHashSet.add(classesStringTokenizer.nextToken().trim()); } } /** * Sets the minimumLevel. * @param minimumLevel The minimumLevel to set */ public void setMinimumLevel(Level minimumLevel) { this.minimumLevel=3D minimumLevel; } } =09 ********************************************************************** = Ce message =E9lectronique et tous les fichiers joints ainsi que les informations contenues dans ce message (ci apr=E8s "le message"), sont confidentiels et destin=E9s exclusivement =E0 l'usage de la personne = =E0 laquelle ils sont adress=E9s. Si vous avez re=E7u ce message par erreur, merci = de le renvoyer =E0 son =E9metteur et de le d=E9truire. Toute diffusion, = publication, totale ou partielle ou divulgation sous quelque forme que ce soit non express=E9ment autoris=E9es de ce message, sont interdites. =20 =09 ********************************************************************** = This e-mail, any attachments and the information contained (herein " = the message") are confidential and intended solely for the use of the addressee(s) if you have received this message in error please send it = back to the sender and delete it. Unauthorized publication, use, = dissemination or disclosure, either whole or partial, of this message is strictly prohibited. -- To unsubscribe, e-mail: For additional commands, e-mail: