Print

Print


> We won't have a quorum to officially discuss logging
> with the rest of the DM team

Some quick thoughts:

 + This is a good start, thanks!

 + Free functions vs. a log object need to be discussed more.  In
particular, when metadata key/value pairs need to be attached, an object
might make more sense.  Avoiding the getLogger() call when no logging
is needed (due to threshold) can be significant.

 + It's a security breach to use vsprintf() with any user-provided
arguments.  Use vsnprintf() instead so that you can check for overflow.
(Or use stringstream or boost::format.)

 + In my prototype, I used a combination of a set of static
log4cxx::LevelPtr variables with isEnabledFor(level) and a set of cpp
macros to avoid the switch.

 + The return value from getLogger() shouldn't need to be cast.

-- 
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