xrootd
XrdHttpTrace.hh
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// This file is part of XrdHTTP: A pragmatic implementation of the
3// HTTP/WebDAV protocol for the Xrootd framework
4//
5// Copyright (c) 2013 by European Organization for Nuclear Research (CERN)
6// Author: Fabrizio Furano <furano@cern.ch>
7// File Date: Nov 2012
8//------------------------------------------------------------------------------
9// XRootD is free software: you can redistribute it and/or modify
10// it under the terms of the GNU Lesser General Public License as published by
11// the Free Software Foundation, either version 3 of the License, or
12// (at your option) any later version.
13//
14// XRootD is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18//
19// You should have received a copy of the GNU Lesser General Public License
20// along with XRootD. If not, see <http://www.gnu.org/licenses/>.
21//------------------------------------------------------------------------------
22
23
24
25
26
27
28
29
30
41#ifndef _XROOTD_TRACE_H
42#define _XROOTD_TRACE_H
43
44
45// Trace flags
46//
47#define TRACE_ALL 0x0fff
48#define TRACE_DEBUG 0x0001
49#define TRACE_EMSG 0x0002
50#define TRACE_FS 0x0004
51#define TRACE_LOGIN 0x0008
52#define TRACE_MEM 0x0010
53#define TRACE_REQ 0x0020
54#define TRACE_REDIR 0x0040
55#define TRACE_RSP 0x0080
56#define TRACE_SCHED 0x0100
57#define TRACE_STALL 0x0200
58
59#ifndef NODEBUG
60
62#include "XrdOuc/XrdOucTrace.hh"
63
64
66extern const char *XrdHttpTraceID;
67
68#define TRACE(act, x) \
69 if (XrdHttpTrace->What & TRACE_ ## act) \
70 {XrdHttpTrace->Beg(XrdHttpTraceID); cerr <<x; XrdHttpTrace->End();}
71
72#define TRACEI(act, x) \
73 if (XrdHttpTrace->What & TRACE_ ## act) \
74 {XrdHttpTrace->Beg(XrdHttpTraceID,TRACELINK->ID); cerr <<x; XrdHttpTrace->End();}
75
76#define TRACEP(act, x) \
77 if (XrdHttpTrace->What & TRACE_ ## act) \
78 {XrdHttpTrace->Beg(XrdHttpTraceID,TRACELINK->ID,Response.ID()); cerr <<x; \
79 XrdHttpTrace->End();}
80
81#define TRACES(act, x) \
82 if (XrdHttpTrace->What & TRACE_ ## act) \
83 {XrdHttpTrace->Beg(XrdHttpTraceID,TRACELINK->ID,(const char *)trsid); cerr <<x; \
84 XrdHttpTrace->End();}
85
86#define TRACING(x) XrdHttpTrace->What & x
87#define EPNAME(x) static const char* epname = x;
88
89#else
90
91#define TRACE(act,x)
92#define TRACEI(act,x)
93#define TRACEP(act,x)
94#define TRACES(act,x)
95#define TRACING(x) 0
96#define EPNAME(x)
97#endif
98
99#endif
XrdOucTrace * XrdHttpTrace
const char * XrdHttpTraceID
Definition: XrdOucTrace.hh:36