Commit | Line | Data |
---|---|---|
0cb03c85 | 1 | /* |
c0c0989a | 2 | * SPDX-License-Identifier: MIT |
0cb03c85 | 3 | * |
c0c0989a | 4 | * Copyright (C) 2013-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
0cb03c85 MD |
5 | */ |
6 | ||
c0c0989a MJ |
7 | #ifndef _LTTNG_UST_TRACELOG_H |
8 | #define _LTTNG_UST_TRACELOG_H | |
9 | ||
0cb03c85 MD |
10 | #include <lttng/lttng-ust-tracelog.h> |
11 | ||
12 | #ifdef __cplusplus | |
13 | extern "C" { | |
14 | #endif | |
15 | ||
49faeca7 MD |
16 | #define TP_TRACELOG_CB_TEMPLATE(level) \ |
17 | extern void _lttng_ust_tracelog_##level(const char *file, \ | |
18 | int line, const char *func, const char *fmt, ...); \ | |
19 | extern void _lttng_ust_vtracelog_##level(const char *file, \ | |
20 | int line, const char *func, const char *fmt, va_list ap); | |
0cb03c85 | 21 | |
c4d667ed MD |
22 | TP_TRACELOG_CB_TEMPLATE(TRACE_EMERG); |
23 | TP_TRACELOG_CB_TEMPLATE(TRACE_ALERT); | |
24 | TP_TRACELOG_CB_TEMPLATE(TRACE_CRIT); | |
25 | TP_TRACELOG_CB_TEMPLATE(TRACE_ERR); | |
26 | TP_TRACELOG_CB_TEMPLATE(TRACE_WARNING); | |
27 | TP_TRACELOG_CB_TEMPLATE(TRACE_NOTICE); | |
28 | TP_TRACELOG_CB_TEMPLATE(TRACE_INFO); | |
29 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_SYSTEM); | |
30 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROGRAM); | |
31 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROCESS); | |
32 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_MODULE); | |
33 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_UNIT); | |
34 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_FUNCTION); | |
35 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_LINE); | |
36 | TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG); | |
0cb03c85 MD |
37 | |
38 | #undef TP_TRACELOG_CB_TEMPLATE | |
39 | ||
40 | #define tracelog(level, fmt, ...) \ | |
41 | do { \ | |
afeea86f | 42 | LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \ |
c4d667ed | 43 | if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \ |
0cb03c85 | 44 | _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \ |
49faeca7 | 45 | fmt, ## __VA_ARGS__); \ |
0cb03c85 MD |
46 | } while (0) |
47 | ||
bd9bb3c7 MRB |
48 | #define vtracelog(level, fmt, ap) \ |
49 | do { \ | |
50 | if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \ | |
49faeca7 MD |
51 | _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \ |
52 | fmt, ap); \ | |
bd9bb3c7 MRB |
53 | } while (0) |
54 | ||
0cb03c85 MD |
55 | #ifdef __cplusplus |
56 | } | |
57 | #endif | |
58 | ||
59 | #endif /* _LTTNG_UST_TRACELOG_H */ |