Hi, I do not think of it as a bug. It is thought as a feature, that log4j-appenders are given to all child-appenders. But I was also looking for a way to disable this feature per default with a single line...
Greets, Christian J> Thanks for your thoughts... the problem is that I don't want to have to add J> loggers for each place where I want to turn additivity off. Whether I create J> loggers by changing the level or adding a null appender doesn't matter-- I J> still have to set additional config params for a logger just to have the J> additivity flag processed. J> I would argue that this is incorrect behavior and might be a bug. Anyone else J> agree? J> Would this question be better addressed to the developer's list? J> 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 >> J> --------------------------------------------------------------------- J> To unsubscribe, e-mail: [EMAIL PROTECTED] J> For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
