TSDebug¶
Traffic Server Debugging APIs.
Synopsis¶
#include <ts/ts.h>
-
void
TSStatus
(const char *format, ...)¶
-
void
TSNote
(const char *format, ...)¶
-
void
TSWarning
(const char *format, ...)¶
-
void
TSError
(const char *format, ...)¶
-
void
TSFatal
(const char *format, ...)¶
-
void
TSAlert
(const char *format, ...)¶
-
void
TSEmergency
(const char *format, ...)¶
-
void
TSDebug
(const char *tag, const char *format, ...)¶
-
int
TSIsDebugTagSet
(const char *tag)¶
-
void
TSDebugSpecific
(int debug_flag, const char *tag, const char *format, ...)¶
-
const char *
TSHttpServerStateNameLookup
(TSServerState state)¶
-
const char *
TSHttpHookNameLookup
(TSHttpHookID hook)¶
-
void TSAssert( ... )
-
void TSReleaseAssert( ... )
diags.log¶
The following methods print to diags.log with expected reactions as a coordinated outcome of Traffic Server, Traffic Manager, AuTest, CI, and your log monitoring service/dashboard (e.g. Splunk)
API |
Purpose |
TrafficManager |
AuTest+CI |
LogMonitor |
---|---|---|---|---|
basic information |
||||
significant information |
||||
concerning information |
track |
|||
operational failure |
FAIL |
review |
||
recoverable crash |
restart |
FAIL |
review |
|
significant crash |
restart |
FAIL |
ALERT |
|
unrecoverable,misconfigured |
EXIT |
FAIL |
ALERT |
Note
TSFatal()
, TSAlert()
, and TSEmergency()
can be called within
TSPluginInit()
, such that Traffic Server can be shutdown promptly when
the plugin fails to initialize properly.
trafficserver.out¶
TSDebug()
logs the debug message only if the given debug tag is enabled.
It writes output to the Traffic Server debug log through stderr.
TSIsDebugTagSet()
returns non-zero if the given debug tag is
enabled.
In debug mode, TSAssert
Traffic Server to prints the file
name, line number and expression, and then aborts. In release mode,
the expression is not removed but the effects of printing an error
message and aborting are. TSReleaseAssert
prints an error
message and aborts in both release and debug mode.
TSDebugSpecific()
emits a debug line even if the debug tag
is turned off, as long as debug flag is enabled. This can be used
in conjunction with TSHttpTxnDebugSet()
, TSHttpSsnDebugSet()
,
TSHttpTxnDebugGet()
and TSHttpSsnDebugGet()
to enable
debugging on specific session and transaction objects.
TSHttpServerStateNameLookup()
, TSHttpHookNameLookup()
and
TSHttpEventNameLookup()
converts the respective internal state to a
string representation. This can be useful in debugging (TSDebug()
),
logging and other types notifications.
Examples¶
This example uses TSDebugSpecific()
to log a message when a specific
debugging flag is enabled:
#include <ts/ts.h>
// Produce information about a hook receiving an event
TSDebug(PLUGIN_NAME, "Entering hook=%s, event=%s",
TSHttpHookNameLookup(hook), TSHttpEventNameLookup(event));
// Emit debug message if "tag" is enabled or the txn debug
// flag is set.
TSDebugSpecifc(TSHttpTxnDebugGet(txn), "tag" ,
"Hello World from transaction %p", txn);
See Also¶
TSAPI(3ts), printf(3)