Andy Salnikov sorry for another review but you are the obvious person to look at this.
This changes butler to forward python lsst.log messages directly to python logging and uses the C++ pylog appender for C++ log messages. Hopefully this will help with Kian-Tat Lim's worries regarding performance since only the C++ messages are coming back to python.
I have had to add a new Formatter class to give me timezone-aware timestamps with millisec precision. I'm not entirely sure whether the default should be UTC or local timezone but for now I use localtime and assume that software can parse the tzoffset string.
Here is the output from the start of pipelines_check to prove that everything is working:
INFO 2021-07-16T08:54:09.034-07:00 ctrl.mpexec.cmdLineFwk ()(cmdLineFwk.py:559) - QuantumGraph contains 3 quanta for 3 tasks, graph ID: '1626450849.033102-56546'
|
INFO 2021-07-16T08:54:09.960-07:00 conda.common.io ()(io.py:246) - overtaking stderr and stdout
|
INFO 2021-07-16T08:54:13.091-07:00 conda.common.io ()(io.py:261) - stderr and stdout yielding back
|
WARNING 2021-07-16T08:54:17.012-07:00 afw.image.MaskedImageFitsReader (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(MaskedImageFitsReader.cc:94) - Expected extension type not found: IMAGE
|
WARNING 2021-07-16T08:54:17.154-07:00 afw.image.MaskedImageFitsReader (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(MaskedImageFitsReader.cc:94) - Expected extension type not found: IMAGE
|
WARNING 2021-07-16T08:54:18.869-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(logContinued.py:119) - Constructing linearizer from cameraGeom information.
|
INFO 2021-07-16T08:54:18.870-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(isrTask.py:1410) - Converting exposure to floating point values.
|
INFO 2021-07-16T08:54:19.082-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(isrTask.py:1475) - Assembling CCD from amplifiers.
|
This has lsst.log C++ messages, lsst.log messages from python and standard python logging.
I do wonder if we should force the level for the conda logger to debug so we don't see that message.
Andy Salnikov sorry for another review but you are the obvious person to look at this.
This changes butler to forward python lsst.log messages directly to python logging and uses the C++ pylog appender for C++ log messages. Hopefully this will help with Kian-Tat Lim's worries regarding performance since only the C++ messages are coming back to python.
I have had to add a new Formatter class to give me timezone-aware timestamps with millisec precision. I'm not entirely sure whether the default should be UTC or local timezone but for now I use localtime and assume that software can parse the tzoffset string.
Here is the output from the start of pipelines_check to prove that everything is working:
INFO 2021-07-16T08:54:09.034-07:00 ctrl.mpexec.cmdLineFwk ()(cmdLineFwk.py:559) - QuantumGraph contains 3 quanta for 3 tasks, graph ID: '1626450849.033102-56546'
INFO 2021-07-16T08:54:09.960-07:00 conda.common.io ()(io.py:246) - overtaking stderr and stdout
INFO 2021-07-16T08:54:13.091-07:00 conda.common.io ()(io.py:261) - stderr and stdout yielding back
WARNING 2021-07-16T08:54:17.012-07:00 afw.image.MaskedImageFitsReader (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(MaskedImageFitsReader.cc:94) - Expected extension type not found: IMAGE
WARNING 2021-07-16T08:54:17.154-07:00 afw.image.MaskedImageFitsReader (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(MaskedImageFitsReader.cc:94) - Expected extension type not found: IMAGE
WARNING 2021-07-16T08:54:18.869-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(logContinued.py:119) - Constructing linearizer from cameraGeom information.
INFO 2021-07-16T08:54:18.870-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(isrTask.py:1410) - Converting exposure to floating point values.
INFO 2021-07-16T08:54:19.082-07:00 isr (isr:{instrument: 'HSC', detector: 10, exposure: 903342, ...})(isrTask.py:1475) - Assembling CCD from amplifiers.
This has lsst.log C++ messages, lsst.log messages from python and standard python logging.
I do wonder if we should force the level for the conda logger to debug so we don't see that message.