📄 tracer.h
字号:
// @return 0 if the component and level are not enabled // 1 if the component and level are enabled static Boolean _isTraceEnabled( const Uint32 traceComponent, const Uint32 level); // Traces the given message // @param traceComponent component being traced // @param level level of the trace message // @param *fmt printf style format string // @param argList variable argument list static void _trace( const Uint32 traceComponent, const Uint32 level, const char* fmt, va_list argList); // Traces the given message. Overloaded to include the file name and the // line number as one of the parameters. // @param traceComponent component being traced // @param level level of the trace message // @param message message header (file name:line number) // @param *fmt printf style format string // @param argList variable argument list static void _trace( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const Uint32 level, const char* fmt, va_list argList); // Traces the specified number of bytes in a given buffer // @param traceComponent component being traced // @param level 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 level, 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 level 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 level, const char* data, const Uint32 size); // Traces the given string. // @param traceComponent component being traced // @param level trace level of the trace message // @param string the string to be traced // static void _traceString( const Uint32 traceComponent, const Uint32 level, const String& string); // 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 level trace level of the trace message // @param string the string to be traced // static void _traceString( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const Uint32 level, const String& string); // 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 level trace level of the trace message // @param CIMException the CIMException to be traced. // static void _traceCIMException( const Uint32 traceComponent, const Uint32 level, const CIMException& cimException); // Called by all the trace interfaces to log message to the // trace file // @param fileName filename of the trace originator // @param lineNum line number of the trace originator // @param traceComponent component being traced // @param *fmt printf style format string // @param argList variable argument list static void _trace( const Uint32 traceComponent, const char* message, const char* fmt, va_list argList); // Traces method enter // @param fileName filename of the trace originator // @param lineNum line number of the trace originator // @param traceComponent component being traced // @param *fmt printf style format string // @param ... variable argument list static void _traceEnter( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const char* fmt, ...); // Traces method exit // @param fileName filename of the trace originator // @param traceComponent component being traced // @param *fmt printf style format string // @param ... variable argument list static void _traceExit( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const char* fmt, ...); // Tracer constructor // Constructor is private to prevent construction of Tracer objects // Single Instance of Tracer is maintained for each process. Tracer(); // Tracer destructor ~Tracer(); // Returns the Singleton instance of the Tracer // @return Tracer* Instance of Tracer static Tracer* _getInstance();};//==============================================================================//// PEGASUS_REMOVE_TRACE defines the compile time inclusion of the Trace// interfaces. If defined the interfaces map to empty functions.////==============================================================================#ifdef PEGASUS_REMOVE_TRACEinline void Tracer::traceBuffer( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const Uint32 level, const char* data, const Uint32 size){ // empty function}inline void Tracer::traceBuffer( const Uint32 traceComponent, const Uint32 level, const char* data, const Uint32 size){ // empty function}inline void Tracer::trace( const Uint32 traceComponent, const Uint32 level, const char *fmt, ...){ // empty function}inline void Tracer::trace( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const Uint32 level, const char* fmt, ...){ // empty function}inline void Tracer::trace( const char* fileName, const Uint32 lineNum, const Uint32 traceComponent, const Uint32 level, const String& string){ // empty function}inline void Tracer::trace( const Uint32 traceComponent, const Uint32 level, const String& string){ // empty function}inline void Tracer::traceCIMException( const Uint32 traceComponent, const Uint32 level, const CIMException& cimException){ // empty function}inline Uint32 Tracer::setTraceFile(const char* traceFile){ // empty function return 0;}inline Uint32 Tracer::setTraceLevel(const Uint32 level){ // empty function return 0;}inline void Tracer::setTraceComponents(const String& traceComponents){ // empty function}#endif /* PEGASUS_REMOVE_TRACE *///==============================================================================//// Tracing macros////==============================================================================// Defines a variable that bypasses inclusion of line and filename in output.// #define PEGASUS_NO_FILE_LINE_TRACE=1 to exclude file names and line numbers#ifdef PEGASUS_NO_FILE_LINE_TRACE# define PEGASUS_COMMA_FILE_LINE /* empty */# define PEGASUS_FILE_LINE_COMMA /* empty */#else# define PEGASUS_COMMA_FILE_LINE ,__FILE__,__LINE__# define PEGASUS_FILE_LINE_COMMA __FILE__,__LINE__,#endif#ifdef PEGASUS_REMOVE_TRACE# define PEG_METHOD_ENTER(comp,meth)# define PEG_METHOD_EXIT()# define PEG_TRACE_STRING(comp,level,string)# define PEG_TRACE(VAR_ARGS)#else /* PEGASUS_REMOVE_TRACE */# define PEG_METHOD_ENTER(comp, meth) \ TracerToken __tracerToken; \ Tracer::traceEnter(__tracerToken PEGASUS_COMMA_FILE_LINE, comp, meth);# define PEG_METHOD_EXIT() \ Tracer::traceExit(__tracerToken PEGASUS_COMMA_FILE_LINE)// Macro for Trace String. the do construct allows this to appear// as a single statement.# define PEG_TRACE_STRING(comp, level, string) \ do \ { \ Tracer::trace(PEGASUS_FILE_LINE_COMMA comp, level, string); \ } \ while (0)// Macro for Trace variable number of arguments with format string. The trace// test is included becase of the possible cost of preparing the variable// number of arguments on each call. The d construct allows this to be// treated as a single statement.# define PEG_TRACE(VAR_ARGS) \ do \ { \ if (Tracer::isTraceOn()) \ Tracer::trace VAR_ARGS; \ } \ while (0)#endif /* !PEGASUS_REMOVE_TRACE */PEGASUS_NAMESPACE_END#endif /* Pegasus_Tracer_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -