From: Kevin G. <ke...@go...> - 2002-09-06 17:17:25
|
> I'm confused... can you give me an example whereby changing the logging > from WARN to INFO would result in FEWER messages? You're absolutely right, there's not, I was confused, thinking of appender thresholds. However, there is the easy case where changing a logger level from WARN to INFO would not result in any change in logging behavior: log4perl.appender.app1.Threshold = WARN in which case neither INFO nor DEBUG messages ever appear in that appender's logs. See attached for a non-contrived example. I'm perfectly happy to be outvoted, shall we have a chorus of AYE's or NAY's for inc_level/dec_level more_logging/less_logging pumpup/silence other? Erik W. Selberg wrote: > Kevin Goess wrote: > >> Jeez, don't you guys sleep? > > > um..... no. :p > >> After thinking about this for a day, I have to say I'm convinced >> inc_level and dec_level best describe what's going on. >> more/less_logging or pumpup/silence both presuppose that changing a >> logger's level towards DEBUG results in *more* messages. That's not >> necessarily the case, with appender thresholds it might just result in >> *different* message behavior, maybe even less messages? What the >> functions are doing is changing the level, what logging behavior that >> change results in is up to the config file. > > > I'm confused... can you give me an example whereby changing the logging > from WARN to INFO would result in FEWER messages? To the below, there is > an intrinsic ordering, and my take away is that a higher level in the > ordering will spew out (a) all the log messages of the previous levels, > and (b) all the log messages of the current level. > > Granted, you COULD do something like: > > if ($logger->is_warn()) { $logger->warn("This only shows up when we're > at WARN level"); } > > but nobody's gonna do that, really. > > -e > >> >> What inc_level and dec_level do is change the level of the logger. >> Since the log4j docs say quite prominently: >> >> "Basic Selection Rule: A log request of level p in a logger with >> (either assigned or inherited, whichever is appropriate) level q, is >> enabled if p >= q. >> This rule is at the heart of log4j. It assumes that levels are >> ordered. For the standard levels, we have DEBUG < INFO < WARN < ERROR >> < FATAL. " >> >> I understand your motivation in saying "the less I like exposing the >> user to the concept that there's some integer value that corresponds >> to a Level" but that's not the same as saying we shouldn't expose the >> user to the concept that levels are ordered and are comparisonable, >> which is a basic fact of life in log4j. >> >> If we really wanted to do it cleanly, we'd have a Priority.pm object >> with is_greater and is_less_than methods, like log4j does and we'd >> throw those around instead of the integers, but that would be stupid >> performance-wise and I think we don't want to go there yet, right? >> >> BTW, there's also a getSyslogEquivalent() in Priority.java, so that's >> fair game to implement. >> >> And re you guys' confusion between these proposed functions going in >> Level.pm vs. Logger.pm, note that my implementation has >> Logger::inc_level() calling Level::get_higher_level() to get the right >> value. >> >> >> Erik W. Selberg wrote: >> >>> Why would these be part of the Level class? I'd imagine they'd be >>> part of the Logger class and affect the Logger's current Level. >>> >>> -e >>> >>> >>> msc...@ao... wrote: >>> >>>> In a message dated Tue, 3 Sep 2002 9:50:57 PM Eastern Standard Time, >>>> er...@se... writes: >>>> >>>> >>>> >>>>> So the more I think about it, the less I like exposing the user to >>>>> the concept that there's some integer value that corresponds to a >>>>> Level >>>>> >>>> >>>> >>>> >>>> >>>> Good point. Only problem is that more_logging/less_logging methods >>>> are kinda strange in a "Level" class. How about pumpup() and >>>> silence() :) ? >>>> >>>> -- Mike >>>> >>>> Mike Schilli >>>> log...@pe... >>>> http://perlmeister.com >>>> >>>> >>>> ------------------------------------------------------- >>>> This sf.net email is sponsored by: OSDN - Tired of that same old >>>> cell phone? Get a new here for FREE! >>>> https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 >>>> _______________________________________________ >>>> log4perl-devel mailing list >>>> log...@li... >>>> https://lists.sourceforge.net/lists/listinfo/log4perl-devel >>>> >>>> >>>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------- >>> This sf.net email is sponsored by: OSDN - Tired of that same old >>> cell phone? Get a new here for FREE! >>> https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 >>> _______________________________________________ >>> log4perl-devel mailing list >>> log...@li... >>> https://lists.sourceforge.net/lists/listinfo/log4perl-devel >> >> >> >> > > > -- Happy Trails . . . Kevin M. Goess (and Anne and Frank) 904 Carmel Ave. Albany, CA 94706 (510) 525-5217 |