Thanks for your thoughts...  the problem is that I don't want to have to add
loggers for each place where I want to turn additivity off.  Whether I create
loggers by changing the level or adding a null appender doesn't matter-- I
still have to set additional config params for a logger just to have the
additivity flag processed.

I would argue that this is incorrect behavior and might be a bug.  Anyone else
agree?

Would this question be better addressed to the developer's list?

Thanks.


> -----Original Message-----
> From: Adrian Janssen [mailto:[EMAIL PROTECTED] 
> Sent: Monday, January 19, 2004 4:21 AM
> To: 'Log4J Users List'
> Subject: RE: configuration additivity and sparse logger trees
> 
> 
> Hi Jason,
> 
> This is not a solution or explanation, but perhaps you can craft a
> work-around from the following:
> 
> I also set the 'additivity' flag to false on a logger that is never
> explicitly instantiated, however in my case there is an 
> appender attached to
> the logger, and this seems to work. Perhaps you can change your
> configuration approach slightly and choose to set 
> 'additivity' flag to false
> on loggers one level lower in the hierarchy where you are specifying
> appenders.
> 
> Cheers
> Adrian
> 
> -----Original Message-----
> From: Jason [mailto:[EMAIL PROTECTED]
> Sent: 19 January 2004 04:55
> To: [EMAIL PROTECTED]
> Subject: configuration additivity and sparse logger trees
> 
> 
> 
> Log4j users--
> 
> I noticed something odd when I started configuring and 
> testing log4j and
> thought I would run it across this mailing list to see what 
> the response
> is...
> 
> I chose to use log4j because of it's fine-grained logging 
> control and the
> ability to turn logging on/off for various categories.  I 
> tried using the
> following configuration for my application:
> 
>     log4j.logger.ACCESS=ERROR, CONSOLE
>     log4j.additivity.ACCESS.MyFunction=false
>     log4j.logger.ACCESS.MyFunction.SubFunction1=INFO, LOGFILE1
>     log4j.logger.ACCESS.MyFunction.SubFunction2=DEBUG, LOGFILE2
> 
> 
> This does not behave as I would expect it to, all the SubFunction1 and
> SubFunction2 calls are still going to the CONSOLE in addition 
> to their log
> files.
> 
> After a little digging through the source code, I realized 
> that there is no
> logger created for "ACCESS.MyFunction", so the additivity 
> property set above
> never gets used.  I can resolve this by putting in an 
> additional config
> line:
> 
>     log4j.logger.ACCESS.MyFunction=OFF
> 
> Although this is a somewhat reasonable workaround, it is not 
> ideal (I plan
> on
> having _many hundred_ levels where I would have to add these config
> directives) .  I have to wonder if the code is functioning as 
> designed or if
> this is an oversight?  There is no comment on this in the online
> documentation, and the original configuration should logically work.
> 
> 
> Let me know what your thoughts are.
> 
> Thanks,
> Jason
> 



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

Reply via email to