version 1.63.2.1, 2011/10/11 18:18:09
|
version 1.71.10.1, 2013/07/30 05:38:50
|
|
|
| |
Tracer::setTraceComponents("Config,Repository"); | Tracer::setTraceComponents("Config,Repository"); |
*/ | */ |
static char const* TRACE_COMPONENT_LIST[] = |
char const* Tracer::TRACE_COMPONENT_LIST[] = |
{ | { |
"Xml", | "Xml", |
"XmlIO", | "XmlIO", |
|
|
"IndicationReceipt", | "IndicationReceipt", |
"CMPIProviderInterface", | "CMPIProviderInterface", |
"WsmServer", | "WsmServer", |
|
"RsServer", |
|
#ifdef PEGASUS_ENABLE_PROTOCOL_WEB |
|
"WebServer", |
|
#endif |
"LogMessages", | "LogMessages", |
"WMIMapperConsumer" |
"WMIMapperConsumer", |
|
"InternalProvider" |
}; | }; |
| |
|
// Set the number of defined components |
|
const Uint32 Tracer::_NUM_COMPONENTS = |
|
sizeof(TRACE_COMPONENT_LIST)/sizeof(TRACE_COMPONENT_LIST[0]); |
|
|
| |
// Defines the value values for trace facilities | // Defines the value values for trace facilities |
// Keep the TRACE_FACILITY_LIST in sync with the TRACE_FACILITY_INDEX, | // Keep the TRACE_FACILITY_LIST in sync with the TRACE_FACILITY_INDEX, |
|
|
// Set component separator | // Set component separator |
const char Tracer::_COMPONENT_SEPARATOR = ','; | const char Tracer::_COMPONENT_SEPARATOR = ','; |
| |
// Set the number of defined components |
|
const Uint32 Tracer::_NUM_COMPONENTS = |
|
sizeof(TRACE_COMPONENT_LIST)/sizeof(TRACE_COMPONENT_LIST[0]); |
|
|
|
// Set the line maximum | // Set the line maximum |
const Uint32 Tracer::_STRLEN_MAX_UNSIGNED_INT = 21; | const Uint32 Tracer::_STRLEN_MAX_UNSIGNED_INT = 21; |
| |
|
|
len = sprintf(targetBuffer, "%02X", c); | len = sprintf(targetBuffer, "%02X", c); |
targetBuffer+=len; | targetBuffer+=len; |
| |
if ( ((col+1)%4) == 0 ) |
if ( ((col+1) & 3) == 0 ) |
{ | { |
*targetBuffer = ' '; | *targetBuffer = ' '; |
targetBuffer++; | targetBuffer++; |
|
|
char* sep; | char* sep; |
const char* line = requestBuf.get(); | const char* line = requestBuf.get(); |
| |
while ((sep = HTTPMessage::findSeparator( |
while ((sep = HTTPMessage::findSeparator(line)) && (line != sep)) |
line, (Uint32)(requestSize - (line - requestBuf.get())))) && |
|
(line != sep)) |
|
{ | { |
if (HTTPMessage::expectHeaderToken(line, "Authorization") && | if (HTTPMessage::expectHeaderToken(line, "Authorization") && |
HTTPMessage::expectHeaderToken(line, ":") && | HTTPMessage::expectHeaderToken(line, ":") && |
|
|
else | else |
{ | { |
// | // |
// Since the message is blank, form a string using the pid and tid |
|
// |
|
char* tmpBuffer; |
|
|
|
// |
|
// Allocate messageHeader. | // Allocate messageHeader. |
// Needs to be updated if additional info is added | // Needs to be updated if additional info is added |
// | // |
|
|
| |
#endif /* !PEGASUS_REMOVE_TRACE */ | #endif /* !PEGASUS_REMOVE_TRACE */ |
| |
|
//set the trace file size only when the tracing is on a file |
|
void Tracer::setMaxTraceFileSize(const String &size) |
|
{ |
|
Tracer *inst = _getInstance(); |
|
if ( inst->getTraceFacility() == TRACE_FACILITY_FILE ) |
|
{ |
|
Uint32 traceFileSizeKBytes = 0; |
|
tracePropertyToUint32(size, traceFileSizeKBytes); |
|
|
|
//Safe to typecast here as we know that handler is of type file |
|
TraceFileHandler *hdlr = (TraceFileHandler*) (inst->_traceHandler); |
|
|
|
hdlr->setMaxTraceFileSize(traceFileSizeKBytes*1024); |
|
|
|
} |
|
} |
|
|
|
//set the trace file number for rolling only when the tracing is on a file |
|
void Tracer::setMaxTraceFileNumber(const String &maxTraceFileNumber) |
|
{ |
|
Tracer *inst = _getInstance(); |
|
|
|
if ( inst->getTraceFacility() == TRACE_FACILITY_FILE ) |
|
{ |
|
Uint32 numberOfTraceFiles = 0; |
|
tracePropertyToUint32(maxTraceFileNumber, numberOfTraceFiles); |
|
|
|
//Safe to typecast here as we know that handler is of type file |
|
TraceFileHandler *hdlr = (TraceFileHandler*) (inst->_traceHandler); |
|
|
|
hdlr->setMaxTraceFileNumber(numberOfTraceFiles); |
|
} |
|
} |
|
|
|
// |
|
// Converts the quantifiable trace proprties string into a Uint32 value. |
|
// It returns false and the bufferSize is set to 0 if the string was not valid. |
|
// |
|
Boolean Tracer::tracePropertyToUint32( |
|
const String& traceProperty, Uint32& valueInUint32 ) |
|
{ |
|
Boolean retCode = false; |
|
Uint64 uInt64BufferSize; |
|
|
|
valueInUint32 = 0; |
|
CString stringBufferSize = traceProperty.getCString(); |
|
|
|
|
|
retCode = StringConversion::decimalStringToUint64(stringBufferSize, |
|
uInt64BufferSize); |
|
|
|
if (retCode ) |
|
{ |
|
retCode = StringConversion::checkUintBounds(uInt64BufferSize, |
|
CIMTYPE_UINT32); |
|
} |
|
|
|
if (retCode ) |
|
{ |
|
valueInUint32 = (Uint32)uInt64BufferSize; |
|
} |
|
|
|
return retCode; |
|
} |
|
|
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |