version 1.1.2.3, 2001/08/01 23:13:01
|
version 1.4, 2002/01/17 05:33:49
|
|
|
#include <Pegasus/Common/TraceComponents.h> | #include <Pegasus/Common/TraceComponents.h> |
#include <Pegasus/Common/TraceFileHandler.h> | #include <Pegasus/Common/TraceFileHandler.h> |
| |
|
// REVIEW: Ask how this all works (note to myself)? |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
| |
#ifdef PEGASUS_REMOVE_TRACE | #ifdef PEGASUS_REMOVE_TRACE |
| |
|
inline static void traceBuffer( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size) |
|
{ |
|
// empty function |
|
} |
|
inline static void traceBuffer( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size) |
|
{ |
|
// empty function |
|
} |
|
|
inline static void trace( | inline static void trace( |
const Uint32 traceComponent, | const Uint32 traceComponent, |
const Uint32 traceLevel, | const Uint32 traceLevel, |
|
|
// empty function | // empty function |
} | } |
| |
|
static Uint32 setTraceFile(const char* traceFile) |
|
{ |
|
// empty function |
|
return 0; |
|
} |
|
|
|
static Uint32 setTraceLevel(const Uint32 traceLevel) |
|
{ |
|
// empty function |
|
return 0; |
|
} |
|
|
|
static void setTraceComponents( |
|
const String traceComponents) |
|
{ |
|
// empty function |
|
} |
|
|
|
|
#else | #else |
|
/** Traces the specified number of bytes in a given buffer |
|
@param traceComponent component being traced |
|
@param traceLevel trace level of the trace message |
|
@param data buffer to be traced |
|
@param size number of bytes to be traced |
|
*/ |
|
inline static void traceBuffer( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size) |
|
{ |
|
_traceBuffer( traceComponent, traceLevel, data, size ); |
|
} |
|
|
|
/** Traces the specified number of bytes in a given buffer |
|
Overloaded to include the filename and the 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 data buffer to be traced |
|
@param size size of the buffer |
|
*/ |
|
inline static void traceBuffer( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size) |
|
{ |
|
_traceBuffer( fileName, lineNum, |
|
traceComponent, traceLevel, data, size ); |
|
} |
|
|
| |
/** Traces the given message | /** Traces the given message |
@param traceComponent component being traced | @param traceComponent component being traced |
|
|
va_end(argList); | va_end(argList); |
} | } |
| |
|
/** Set the trace file to the given file |
|
@param traceFile full path of the trace file |
|
@return 0 if the filepath is valid |
|
1 if an error occurs while opening the file |
|
in append mode |
|
*/ |
|
static Uint32 setTraceFile(const char* traceFile); |
|
|
|
/** Set the trace level to the given level |
|
@param traceLevel trace level to be set |
|
@return 0 if trace level is valid |
|
1 if trace level is invalid |
|
*/ |
|
static Uint32 setTraceLevel(const Uint32 traceLevel); |
|
|
|
/** Set components to be traced |
|
@param traceComponents list of components to be traced, |
|
components should be separated by ',' |
|
*/ |
|
static void setTraceComponents( |
|
const String traceComponents); |
|
|
#endif | #endif |
| |
// End of PEGASUS_REMOVE_TRACE | // End of PEGASUS_REMOVE_TRACE |
|
|
_FUNC_EXIT_MSG, methodName); | _FUNC_EXIT_MSG, methodName); |
} | } |
| |
/** Set the trace file to the given file |
/** Validates the File Path for the trace File |
@param traceFile full path of the trace file |
@param filePath full path of the file |
@return 0 if the filepath is valid |
@return 1 if the file path is valid |
1 if an error occurs while opening the file in |
0 if the file path is invalid |
append mode |
*/ |
*/ |
static Boolean isValid(const char* filePath); |
static Uint32 setTraceFile(const char* traceFile); |
|
|
/** Validates the trace components |
/** Set the trace level to the given level |
@param traceComponents comma separated list of trace components |
@param traceLevel trace level to be set |
@param invalidComponents comma separated list of invalid components |
@return 0 if trace level is valid |
@return 1 if the components are valid |
1 if trace level is invalid |
0 if one or more components are invalid |
*/ | */ |
static Uint32 setTraceLevel(const Uint32 traceLevel); |
static Boolean isValid( |
|
const String traceComponents, String& invalidComponents=_EMPTY_STRING); |
/** Set components to be traced |
|
@param traceComponents list of components to be traced, components |
|
should be separated by ',' |
|
*/ |
|
static void setTraceComponents(String traceComponents); |
|
| |
private: | private: |
| |
static const char _COMPONENT_SEPARATOR; | static const char _COMPONENT_SEPARATOR; |
static const Uint32 _NUM_COMPONENTS; | static const Uint32 _NUM_COMPONENTS; |
static const Uint32 _STRLEN_MAX_UNSIGNED_INT; | static const Uint32 _STRLEN_MAX_UNSIGNED_INT; |
|
static const Uint32 _STRLEN_MAX_PID_TID; |
|
static const Boolean _SUCCESS; |
|
static const Boolean _FAILURE; |
|
static String _EMPTY_STRING; |
Boolean* _traceComponentMask; | Boolean* _traceComponentMask; |
Uint32 _traceLevelMask; | Uint32 _traceLevelMask; |
TraceFileHandler* _traceHandler; | TraceFileHandler* _traceHandler; |
|
|
// Message Strings for Logger | // Message Strings for Logger |
static const char _LOG_MSG1[]; | static const char _LOG_MSG1[]; |
static const char _LOG_MSG2[]; | 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* fmt, | const char* fmt, |
va_list argList); | va_list argList); |
| |
|
// Traces the specified number of bytes in a given buffer |
|
// @param traceComponent component being traced |
|
// @param traceLevel trace level of the trace message |
|
// @param data buffer to be traced |
|
// @param size number of bytes to be traced |
|
static void _traceBuffer( |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size); |
|
|
|
// Traces the specified number of bytes in a given buffer |
|
// Overloaded to include the filename and the 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 data buffer to be traced |
|
// @param size size of the buffer |
|
static void _traceBuffer( |
|
const char* fileName, |
|
const Uint32 lineNum, |
|
const Uint32 traceComponent, |
|
const Uint32 traceLevel, |
|
const char* data, |
|
const Uint32 size); |
|
|
// 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 |
|
|
#endif | #endif |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
|
|
#endif /* Pegasus_Tracer_h */ | #endif /* Pegasus_Tracer_h */ |