As always, very helpful, Ron. Thanks, that worked. Just so I'm clear, though ...
If these filters are additive, then why do I get everything if I don't specify any filter at all? And if they're subtractive, why do I need the DenyAllFilter at all? Or is there something special about DenyAllFilter? See what I mean? How do these filters work together? Is there a documentation section that outlines it so you don't hafta 'splain? I didn't see one. -BillyB WILLIAM BARNUM [EMAIL PROTECTED] -----Original Message----- From: Ron Grabowski [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 29, 2005 3:13 PM To: Log4NET User Subject: Re: Trouble with PropertyFilter <filter type="log4net.Filter.PropertyFilter"> <Key value="LogEventCategory" /> <StringToMatch value="AssertionHandling" /> </filter> <filter type="log4net.Filter.DenyAllFilter" /> --- Billy Barnum <[EMAIL PROTECTED]> wrote: > I'm having trouble making a PropertyFilter work with some custom > properties > of mine, and the archives didn't turn up anything. I'm probably not > understanding what PropertyFiltering is or am fat-fingering > something; help > appreciated. > > Expected Behavior: a certain FileAppender named 'AssertionException' > will > only contain Events with a custom property 'LogEventCategory' set to > a value > of 'AssertionHandling'. > Actual Behavior: no filtering takes place; all events logged to this > appender's output file. > > The appender definition is: > > <appender name="AssertionException" > type="log4net.Appender.FileAppender"> > <filter type="log4net.Filter.PropertyFilter"> > <Key value="LogEventCategory" /> > <StringToMatch value="AssertionHandling" /> > </filter> > <file value="..\..\AssertionException.txt" /> > <appendToFile value="false" /> > <layout type="log4net.Layout.PatternLayout"> > <conversionPattern value="[%date] [%thread] [%-5level] > [%property{LogEventContext}] [%property{LogEventCategory}] [%logger] > [%ndc] > [%property{LogEventType}] [%property{LogEventId}] > [%property{LogEventUserId}] [%message]%newline" /> > </layout> > </appender> > > Internal debugging output shows nothing untoward that I can see; I > found the > following: > > log4net: XmlHierarchyConfigurator: Loading Appender > [AssertionException] > type: [log4net.Appender.FileAppender] > log4net: XmlHierarchyConfigurator: Setting Property [Key] to String > value > [LogEventCategory] > log4net: XmlHierarchyConfigurator: Setting Property [StringToMatch] > to > String value [AssertionHandling] > log4net: XmlHierarchyConfigurator: Setting Collection Property > [AddFilter] > to object [log4net.Filter.PropertyFilter] > > Here's subset of log output showing property 'LogEventCategory' > values of > 'ExecutionTrace' (not desired) and 'AssertionHandling': > > [2005-11-29 12:18:23,159] [8164] [DEBUG] [BMTSecurity] > [ExecutionTrace] > [BMT.Shared.Security.Guard.SecurityGuard] [(null)] [EndMethod] > [Authenticate] [BMT\bbarnum] [End Authenticate()] > [2005-11-29 12:18:23,159] [8164] [FATAL] [NUnit] [AssertionHandling] > [BMT.Shared.Security.Test.tSecurityGuard] [(null)] > [AssertionException] > [Authenticate_0002] [BMT\bbarnum] [===== Exception # 0===== > ExceptionType: AssertionException > Message: > Source: nunit.framework > StackTrace: at NUnit.Framework.Assert.Fail(String message, > Object[] args) > at NUnit.Framework.Assert.IsTrue(Boolean condition) > at BMT.Shared.Security.Test.tSecurityGuard.Authenticate_0002() in > c:\data\code\visual studio > projects\bmt\shared\vertical\bmt.shared.vl.security\test\class\tsecurityguar > d.cs:line 123 > TargetSite: Void Fail(System.String, System.Object[]) > ] > > So what am I not getting, here? > > -BillyB > > WILLIAM BARNUM > [EMAIL PROTECTED] > > >