> > You are right that Python logging infrastructure can deal with logs at a > finer grain, but the code required to do it is more verbose than logical > switches
The default behavior of filters seems pretty useful to me (filtering by hierarchy), but, then again, so do the default log levels. I have trouble understanding when you would need much more, which leads me to believe those cases are probably rare and complex (though I might very well be wrong). If you have a complex problem you typically should expect a complex solution like writing a custom log filter. You might think "it would be nice if the solution to this problem was in the standard lib", but we have to be a little picky about what goes into the standard lib least it inflate to a monstrous mess. If it's a niche problem, maybe a custom solution or third party lib *is* the way to go. and may also be non-local There are design patterns to help with that. and still does not solve the expensiveFunction() problem. I wasn't trying to address that problem in that quote. I was addressing the tangent on the insufficient expressiveness of log levels. I personally don't see why you can't use floats for log levels, but I'm interested to know how people are using logs such that they need dozens of levels. That, however; is tangential to the discussion about conditional execution of an expensive function. On Thu, Feb 16, 2017 at 12:54 PM, Kyle Lahnakoski <klahnako...@mozilla.com> wrote: > > On 2017-02-15 16:06, Abe Dillon wrote: > > On 15.02.2017, 20:39 Kyle Lahnakoski wrote: > >> Log "levels" never made sense to me; how can a single dimension be useful >> substitute for a number of binary switches? With log "levels", you either >> don't have enough logging, or you drown in too much logging (or you manage >> a number of loggers, which is worse than logging switches). > > > Again, isn't that what Filters are for? I mean the documentation says: > >> Filters can be used by Handlers and Loggers for more sophisticated >> filtering than is provided by levels. > > > > You are right that Python logging infrastructure can deal with logs at a > finer grain, but the code required to do it is more verbose than logical > switches, and may also be non-local, and still does not solve the > expensiveFunction() problem. > > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/