version 1.4, 2002/01/17 05:33:49
|
version 1.6, 2002/03/09 01:17:10
|
|
|
// | // |
// Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com) | // Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com) |
// | // |
// Modified By: |
// Modified By: Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
#include <Pegasus/Common/String.h> | #include <Pegasus/Common/String.h> |
#include <Pegasus/Common/System.h> | #include <Pegasus/Common/System.h> |
#include <Pegasus/Common/Logger.h> | #include <Pegasus/Common/Logger.h> |
|
#include <Pegasus/Common/Exception.h> |
#include <Pegasus/Common/TraceComponents.h> | #include <Pegasus/Common/TraceComponents.h> |
#include <Pegasus/Common/TraceFileHandler.h> | #include <Pegasus/Common/TraceFileHandler.h> |
| |
|
|
// empty function | // empty function |
} | } |
| |
|
inline static void trace( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const String& traceString) |
|
{ |
|
// empty function |
|
} |
|
|
|
inline static void traceCIMException( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
CIMException cimException) |
|
{ |
|
// empty function |
|
} |
|
|
static Uint32 setTraceFile(const char* traceFile) | static Uint32 setTraceFile(const char* traceFile) |
{ | { |
// empty function | // empty function |
|
|
va_end(argList); | va_end(argList); |
} | } |
| |
|
/** Traces the given string. Overloaded to include the filename |
|
and line number of trace origin. |
|
@param fileName filename of the trace originator |
|
@param lineNum line number of the trace originator |
|
@param traceComponent component being traced |
|
@param traceLevel trace level of the trace message |
|
@param traceString the string to be traced |
|
*/ |
|
inline static void trace( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const String& traceString) |
|
{ |
|
_traceString( fileName, lineNum, traceComponent, traceLevel, |
|
traceString ); |
|
} |
|
|
|
/** Traces the message in the given CIMException object. The message |
|
written to the trace file will include the source filename and |
|
line number of the CIMException originator. |
|
@param traceComponent component being traced |
|
@param traceLevel trace level of the trace message |
|
@param CIMException the CIMException to be traced. |
|
*/ |
|
inline static void traceCIMException( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
CIMException cimException) |
|
{ |
|
_traceCIMException( traceComponent, traceLevel, cimException ); |
|
} |
|
|
/** Set the trace file to the given file | /** Set the trace file to the given file |
@param traceFile full path of the trace file | @param traceFile full path of the trace file |
@return 0 if the filepath is valid | @return 0 if the filepath is valid |
|
|
static const char _FUNC_EXIT_MSG[]; | static const char _FUNC_EXIT_MSG[]; |
| |
// Message Strings for Logger | // Message Strings for Logger |
static const char _LOG_MSG1[]; |
static const char _LOG_MSG[]; |
static const char _LOG_MSG2[]; |
|
static const char _LOG_MSG3[]; |
|
| |
// Checks if trace is enabled for the given component and trace level | // Checks if trace is enabled for the given component and trace level |
// @param traceComponent component being traced | // @param traceComponent component being traced |
|
|
const char* data, | const char* data, |
const Uint32 size); | const Uint32 size); |
| |
|
// Traces the given string. |
|
// @param traceComponent component being traced |
|
// @param traceLevel trace level of the trace message |
|
// @param traceString the string to be traced |
|
// |
|
static void _traceString( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const String& traceString); |
|
|
|
// Traces a given string. Overloaded to include the filename |
|
// and line number of trace origin. |
|
// @param fileName filename of the trace originator |
|
// @param lineNum line number of the trace originator |
|
// @param traceComponent component being traced |
|
// @param traceLevel trace level of the trace message |
|
// @param traceString the string to be traced |
|
// |
|
static void _traceString( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const String& traceString); |
|
|
|
// Traces the message in the given CIMException object. The message |
|
// to be written to the trace file will include the source filename and |
|
// line number of the CIMException originator. |
|
// @param traceComponent component being traced |
|
// @param traceLevel trace level of the trace message |
|
// @param CIMException the CIMException to be traced. |
|
// |
|
static void _traceCIMException( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
CIMException cimException); |
|
|
// Called by all the trace interfaces to log message to the | // Called by all the trace interfaces to log message to the |
// trace file | // trace file |
// @param fileName filename of the trace originator | // @param fileName filename of the trace originator |
|
|
static Tracer* _getInstance(); | static Tracer* _getInstance(); |
}; | }; |
| |
// Define the macros for method entry/exit |
// Define the macros for method entry/exit, and tracing a given string |
#ifdef PEGASUS_REMOVE_TRACE | #ifdef PEGASUS_REMOVE_TRACE |
#define PEG_FUNC_ENTER(traceComponent,methodName) | #define PEG_FUNC_ENTER(traceComponent,methodName) |
#define PEG_FUNC_EXIT(traceComponent,methodName) | #define PEG_FUNC_EXIT(traceComponent,methodName) |
|
#define PEG_METHOD_ENTER(traceComponent,methodName) |
|
#define PEG_METHOD_EXIT() |
|
#define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) |
#else | #else |
/** Macro for tracing method entry | /** Macro for tracing method entry |
|
ATTN: Phase out in favor of PEG_METHOD_ENTER |
@param traceComponent component being traced | @param traceComponent component being traced |
@param methodName name of the method | @param methodName name of the method |
*/ | */ |
|
|
Tracer::traceEnter(__FILE__, __LINE__,traceComponent,methodName) | Tracer::traceEnter(__FILE__, __LINE__,traceComponent,methodName) |
| |
/** Macro for tracing method exit | /** Macro for tracing method exit |
|
ATTN: Phase out in favor of PEG_METHOD_EXIT |
@param traceComponent component being traced | @param traceComponent component being traced |
@param methodName name of the method | @param methodName name of the method |
*/ | */ |
#define PEG_FUNC_EXIT(traceComponent,methodName) \ | #define PEG_FUNC_EXIT(traceComponent,methodName) \ |
Tracer::traceExit(__FILE__,__LINE__,traceComponent,methodName) | Tracer::traceExit(__FILE__,__LINE__,traceComponent,methodName) |
|
|
|
/** Macro for tracing method entry |
|
@param traceComponent component being traced |
|
@param methodName name of the method |
|
*/ |
|
#define PEG_METHOD_ENTER(traceComponent,methodName) \ |
|
const char *PEG_METHOD_NAME = methodName; \ |
|
const Uint32 PEG_TRACE_COMPONENT = traceComponent; \ |
|
Tracer::traceEnter(__FILE__,__LINE__,PEG_TRACE_COMPONENT,PEG_METHOD_NAME) |
|
|
|
/** Macro for tracing method exit |
|
*/ |
|
#define PEG_METHOD_EXIT() \ |
|
Tracer::traceExit(__FILE__,__LINE__,PEG_TRACE_COMPONENT,PEG_METHOD_NAME) |
|
|
|
/** Macro for tracing a string |
|
@param traceComponent component being traced |
|
@param traceLevel trace level of the trace message |
|
@param traceString the string to be traced |
|
*/ |
|
#define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) \ |
|
Tracer::trace(__FILE__, __LINE__,traceComponent,traceLevel,traceString) |
#endif | #endif |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |