diff options
| author | Mark Stapp <mjs@voltanet.io> | 2020-10-24 16:50:35 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-24 16:50:35 -0400 |
| commit | cbd492990db19b51a24bdd6e8bfec4f79c0f11d5 (patch) | |
| tree | 660d4e662cd49d32b968e2b00cb18e1928c49f90 /lib/zlog.c | |
| parent | 874e77acceba36bdd1d15d5b368ce9e367e3628a (diff) | |
| parent | fc3ee1e04105c87e5d46ca99d1ac442bcc02d121 (diff) | |
Merge pull request #7194 from qlyoung/tracing
Tracing
Diffstat (limited to 'lib/zlog.c')
| -rw-r--r-- | lib/zlog.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/zlog.c b/lib/zlog.c index 8dfd20371b..e77feec5f2 100644 --- a/lib/zlog.c +++ b/lib/zlog.c @@ -52,6 +52,7 @@ #include "printfrr.h" #include "frrcu.h" #include "zlog.h" +#include "libfrr_trace.h" DEFINE_MTYPE_STATIC(LIB, LOG_MESSAGE, "log message") DEFINE_MTYPE_STATIC(LIB, LOG_TLSBUF, "log thread-local buffer") @@ -450,6 +451,34 @@ void vzlog(int prio, const char *fmt, va_list ap) { struct zlog_tls *zlog_tls = zlog_tls_get(); +#ifdef HAVE_LTTNG + va_list copy; + va_copy(copy, ap); + char *msg = vasprintfrr(MTYPE_LOG_MESSAGE, fmt, copy); + + switch (prio) { + case LOG_ERR: + frrtracelog(TRACE_ERR, msg); + break; + case LOG_WARNING: + frrtracelog(TRACE_WARNING, msg); + break; + case LOG_DEBUG: + frrtracelog(TRACE_DEBUG, msg); + break; + case LOG_NOTICE: + frrtracelog(TRACE_DEBUG, msg); + break; + case LOG_INFO: + default: + frrtracelog(TRACE_INFO, msg); + break; + } + + va_end(copy); + XFREE(MTYPE_LOG_MESSAGE, msg); +#endif + if (zlog_tls) vzlog_tls(zlog_tls, prio, fmt, ap); else |
