2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2013-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
7 #ifndef _LTTNG_UST_TRACELOG_H
8 #define _LTTNG_UST_TRACELOG_H
10 #include <lttng/tp/lttng-ust-tracelog.h>
16 #define TP_TRACELOG_CB_TEMPLATE(level) \
17 __attribute__ ((format(printf, 4, 5))) \
18 extern void _lttng_ust_tracelog_##level(const char *file, \
19 int line, const char *func, const char *fmt, ...); \
20 __attribute__ ((format(printf, 4, 0))) \
21 extern void _lttng_ust_vtracelog_##level(const char *file, \
22 int line, const char *func, const char *fmt, va_list ap);
24 TP_TRACELOG_CB_TEMPLATE(TRACE_EMERG
);
25 TP_TRACELOG_CB_TEMPLATE(TRACE_ALERT
);
26 TP_TRACELOG_CB_TEMPLATE(TRACE_CRIT
);
27 TP_TRACELOG_CB_TEMPLATE(TRACE_ERR
);
28 TP_TRACELOG_CB_TEMPLATE(TRACE_WARNING
);
29 TP_TRACELOG_CB_TEMPLATE(TRACE_NOTICE
);
30 TP_TRACELOG_CB_TEMPLATE(TRACE_INFO
);
31 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_SYSTEM
);
32 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROGRAM
);
33 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_PROCESS
);
34 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_MODULE
);
35 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_UNIT
);
36 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_FUNCTION
);
37 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG_LINE
);
38 TP_TRACELOG_CB_TEMPLATE(TRACE_DEBUG
);
40 #undef TP_TRACELOG_CB_TEMPLATE
42 #define tracelog(level, fmt, ...) \
44 LTTNG_STAP_PROBEV(tracepoint_lttng_ust_tracelog, level, ## __VA_ARGS__); \
45 if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \
46 _lttng_ust_tracelog_##level(__FILE__, __LINE__, __func__, \
47 fmt, ## __VA_ARGS__); \
50 #define vtracelog(level, fmt, ap) \
52 if (caa_unlikely(__tracepoint_lttng_ust_tracelog___##level.state)) \
53 _lttng_ust_vtracelog_##level(__FILE__, __LINE__, __func__, \
61 #endif /* _LTTNG_UST_TRACELOG_H */
This page took 0.03757 seconds and 4 git commands to generate.