CMPI debug messages

Vitezslav Crhonek <[email protected]> Wed, 05 Dec 2012 11:12:37 +0100
Newsgroups gmane.network.open-pegasus.general
Message-ID <[email protected]>
Hi,

We are experiencing problems with debug messages in CMPI providers
with CMPI_DEV_DEBUG. When cimserver is started with logLevel=TRACE,
traceLevel=5, enableHttpConnection=true traceFacility=File,
traceComponents=All, these messages didn't appear in the trace file.

Within Pegasus, mbEncLogMessage() (src/Pegasus/ProviderManager2/
/CMPI/CMPI_BrokerEnc.cpp) is used to match CMPI severity
codes to the Pegasus's Log levels.

Then Pegasus::Logger::put() is called, which calls
Pegasus::Logger::_putInternal(). The message is sent there
to the syslog then, it's not sent to the trace. This is intentionally
skipped with comment:
// PEP 315
// The trace can be routed into the log. The logged trace messages are
// logged with logFileType of Logger::TRACE_LOG.
// To avoid a cirular writing of these messages, log messages with
// logFileType of Logger::TRACE_LOG are never send to the trace.

OK, it's intentional, but... In PEP 315 ([1]) I see:

"For this, the Logger::TRACE and Logger::TRACE_LOG level will be used
only internal for messages routed from the CIM server Tracer to the Logger."

So in my opinion there's a bug - CMPI_DEV_DEBUG message gets
logSeverity = Logger::TRACE; and logFileType = Logger::TRACE_LOG;
in mbEncLogMessage() - it's not something internal and it doesn't make
sense to have it in syslog and not in the trace file with other CMPI
messages. I believe this was overlooked when PEP 315 was implemented.

Best regards,
Vitezslav Crhonek

[1]
https://collaboration.opengroup.org/pegasus/pp/documents/16768/PEP_315_-Tracing_in_OpenPegasus.htm?gpid=228&type=doc&id=16768&fn=PEP_315_-Tracing_in_OpenPegasus.htm