00001 #ifndef _XROOTD_TRACE_H
00002 #define _XROOTD_TRACE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #define TRACE_ALL 0x0fff
00035 #define TRACE_DEBUG 0x0001
00036 #define TRACE_EMSG 0x0002
00037 #define TRACE_FS 0x0004
00038 #define TRACE_LOGIN 0x0008
00039 #define TRACE_MEM 0x0010
00040 #define TRACE_REQ 0x0020
00041 #define TRACE_REDIR 0x0040
00042 #define TRACE_RSP 0x0080
00043 #define TRACE_SCHED 0x0100
00044 #define TRACE_STALL 0x0200
00045
00046 #ifndef NODEBUG
00047
00048 #include "XrdSys/XrdSysHeaders.hh"
00049 #include "XrdOuc/XrdOucTrace.hh"
00050
00051 #define TRACE(act, x) \
00052 if (XrdXrootdTrace->What & TRACE_ ## act) \
00053 {XrdXrootdTrace->Beg(TraceID); cerr <<x; XrdXrootdTrace->End();}
00054
00055 #define TRACEI(act, x) \
00056 if (XrdXrootdTrace->What & TRACE_ ## act) \
00057 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID); cerr <<x; XrdXrootdTrace->End();}
00058
00059 #define TRACEP(act, x) \
00060 if (XrdXrootdTrace->What & TRACE_ ## act) \
00061 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID,Response.ID()); cerr <<x; \
00062 XrdXrootdTrace->End();}
00063
00064 #define TRACES(act, x) \
00065 if (XrdXrootdTrace->What & TRACE_ ## act) \
00066 {XrdXrootdTrace->Beg(TraceID,TRACELINK->ID,(const char *)trsid); cerr <<x; \
00067 XrdXrootdTrace->End();}
00068
00069 #define TRACING(x) XrdXrootdTrace->What & x
00070
00071 #else
00072
00073 #define TRACE(act,x)
00074 #define TRACEI(act,x)
00075 #define TRACEP(act,x)
00076 #define TRACES(act,x)
00077 #define TRACING(x) 0
00078 #endif
00079
00080 #endif