version 1.8, 2002/05/01 21:32:54
|
version 1.14, 2004/06/03 15:04:54
|
|
|
//%///////////////////////////////////////////////////////////////////////////// |
//%2003//////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Development |
// The Open Group, Tivoli Systems |
// Company, L. P., IBM Corp., The Open Group, Tivoli Systems. |
|
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; |
|
// IBM Corp.; EMC Corporation, The Open Group. |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
// of this software and associated documentation files (the "Software"), to | // of this software and associated documentation files (the "Software"), to |
|
|
// Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com) | // Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com) |
// | // |
// Modified By: Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com) | // Modified By: Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com) |
|
// Amit K Arora, IBM (amita@in.ibm.com) for PEP#101 |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
#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/InternalException.h> |
#include <Pegasus/Common/TraceComponents.h> | #include <Pegasus/Common/TraceComponents.h> |
#include <Pegasus/Common/TraceFileHandler.h> | #include <Pegasus/Common/TraceFileHandler.h> |
|
#include <Pegasus/Common/Linkage.h> |
|
#include <Pegasus/Common/AutoPtr.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
const char* methodName) | const char* methodName) |
{ | { |
_traceEnter( fileName, lineNum, traceComponent, "%s %s", | _traceEnter( fileName, lineNum, traceComponent, "%s %s", |
_FUNC_ENTER_MSG, methodName); |
_METHOD_ENTER_MSG, methodName); |
} | } |
| |
/** Traces method exit. | /** Traces method exit. |
|
|
const char* methodName) | const char* methodName) |
{ | { |
_traceExit( fileName, lineNum, traceComponent, "%s %s", | _traceExit( fileName, lineNum, traceComponent, "%s %s", |
_FUNC_EXIT_MSG, methodName); |
_METHOD_EXIT_MSG, methodName); |
} | } |
| |
/** Validates the File Path for the trace File | /** Validates the File Path for the trace File |
|
|
static const Uint32 _STRLEN_MAX_PID_TID; | static const Uint32 _STRLEN_MAX_PID_TID; |
static const Boolean _SUCCESS; | static const Boolean _SUCCESS; |
static const Boolean _FAILURE; | static const Boolean _FAILURE; |
Boolean* _traceComponentMask; |
AutoArrayPtr<Boolean> _traceComponentMask; //PEP101 |
Uint32 _traceLevelMask; | Uint32 _traceLevelMask; |
TraceFileHandler* _traceHandler; |
AutoPtr<TraceFileHandler> _traceHandler; //PEP101 |
static Tracer* _tracerInstance; | static Tracer* _tracerInstance; |
| |
// Message Strings for fucntion Entry and Exit |
// Message Strings for function Entry and Exit |
static const char _FUNC_ENTER_MSG[]; |
static const char _METHOD_ENTER_MSG[]; |
static const char _FUNC_EXIT_MSG[]; |
static const char _METHOD_EXIT_MSG[]; |
| |
// Message Strings for Logger | // Message Strings for Logger |
static const char _LOG_MSG[]; | static const char _LOG_MSG[]; |
|
|
| |
// Define the macros for method entry/exit, and tracing a given string | // 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_EXIT(traceComponent,methodName) |
|
#define PEG_METHOD_ENTER(traceComponent,methodName) | #define PEG_METHOD_ENTER(traceComponent,methodName) |
#define PEG_METHOD_EXIT() | #define PEG_METHOD_EXIT() |
#define PEG_TRACE_STRING(traceComponent,traceLevel,traceString) | #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 methodName name of the method |
|
*/ |
|
#define PEG_FUNC_ENTER(traceComponent,methodName) \ |
|
Tracer::traceEnter(__FILE__, __LINE__,traceComponent,methodName) |
|
|
|
/** Macro for tracing method exit |
|
ATTN: Phase out in favor of PEG_METHOD_EXIT |
|
@param traceComponent component being traced |
|
@param methodName name of the method |
|
*/ |
|
#define PEG_FUNC_EXIT(traceComponent,methodName) \ |
|
Tracer::traceExit(__FILE__,__LINE__,traceComponent,methodName) |
|
|
|
/** Macro for tracing method entry |
|
@param traceComponent component being traced | @param traceComponent component being traced |
@param methodName name of the method | @param methodName name of the method |
*/ | */ |