Robert, > There's no definition of "context" --- the first example uses the > string 'czar' and I don't know how that's associated with a logger. If > it needs to be created explicitly from a config file I think we have a > problem. A context is just a way of creating a relative logger name that is pushed/popped (with RAII now). "czar" is just the addition to the logger name path (i.e. default_path = default_path + ".czar"). This new name can be used in the config file, but it is not created from the config file. > The performance of formatted output looks worrying. Bill is working on this for boost::format. Do you find the snprintf timings to be inadequate, too? > We probably need to support boost::format too. So your desire is to either speed up boost::format to be as fast as snprintf, or support both, right? > > Having enough debug levels. I'd like to have at least 3 and > > maybe 5 different debug levels, and preferably control them by a > > numerical parameter not a logger name (protolog.debug(3, ...) > > rather than protolog.debug3(...)) to enable changing the level > > of groups of debug commands. Yes, you can do this with mylog = > > {3: protolog.debug3); mylog[3](...) but that's more work. > > You provides only 2 by default, trace and debug (+ info + warn + error > + fatal). That's not enough. There's some python to support other > levels, but it's not standardized. The point is that you should think about your multiple levels differently -- as multiple loggers rather than multiple levels. Bill's sample code just shows the isomorphism between the two, but I don't think it's recommended that you actually use it. > > output control. It is convenient to make different debug levels format with different indents > > Is this addressed? It's not critical. No, it's not. This would require hacking at something closer to the log4cxx level, I think. > > I think we need to be able to change logging levels from an > > interactive python prompt. > > > > This is probably supported, but with debug("afw.image", 1, ...) > > debug("afw.image.fitsio", 2, ...) Can I enable afw debug logging > > at level 1 (which applies to afw.image and afw.image.fitsio), > > then switch afw.image to 2 (which also applies to > > afw.image.fitsio), and then change afw.image.fitsio to yet > > another log level? > > Can you provide a complete example to illustrate this? setLevel("afw.image", 1) setLevel("afw.image", 2) setLevel("afw.image.fitsio", 3) > My impression is that the levels are handled per-logger, and thus per > context (== logger?? See comment on contexts above). Is that right? No, there's also inheritance in the tree (if Bill got this right). > If so, before I can control the debugging level for a given package I > need to create a logger, and that requires an xml/log4j file which > users will *not* want to do. No, you create a logger in the code. The XML/log4j file controls how that logger logs. -- Kian-Tat Lim, LSST Data Management, [log in to unmask] ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the QSERV-L list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1