aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-05-09 15:18:56 +0100
committerDaniel P. Berrange <berrange@redhat.com>2012-05-15 17:01:40 +0100
commit548563956e484e0e43e9a66a89bdda0f95930108 (patch)
tree6992dfae7e7756a896b6dc6d17fa19b8a6f2ffb6 /tests/testutils.c
parentMove user libvirtd socket out of abstract namespace (diff)
downloadlibvirt-548563956e484e0e43e9a66a89bdda0f95930108.tar.gz
libvirt-548563956e484e0e43e9a66a89bdda0f95930108.tar.bz2
libvirt-548563956e484e0e43e9a66a89bdda0f95930108.zip
Allow stack traces to be included with log messages
Sometimes it is useful to see the callpath for log messages. This change enhances the log filter syntax so that stack traces can be show by setting '1:+NAME' instead of '1:NAME'. This results in output like: 2012-05-09 14:18:45.136+0000: 13314: debug : virInitialize:414 : register drivers /home/berrange/src/virt/libvirt/src/.libs/libvirt.so.0(virInitialize+0xd6)[0x7f89188ebe86] /home/berrange/src/virt/libvirt/tools/.libs/lt-virsh[0x431921] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3a21e21735] /home/berrange/src/virt/libvirt/tools/.libs/lt-virsh[0x40a279] 2012-05-09 14:18:45.136+0000: 13314: debug : virRegisterDriver:775 : driver=0x7f8918d02760 name=Test /home/berrange/src/virt/libvirt/src/.libs/libvirt.so.0(virRegisterDriver+0x6b)[0x7f89188ec717] /home/berrange/src/virt/libvirt/src/.libs/libvirt.so.0(+0x11b3ad)[0x7f891891e3ad] /home/berrange/src/virt/libvirt/src/.libs/libvirt.so.0(virInitialize+0xf3)[0x7f89188ebea3] /home/berrange/src/virt/libvirt/tools/.libs/lt-virsh[0x431921] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3a21e21735] /home/berrange/src/virt/libvirt/tools/.libs/lt-virsh[0x40a279] * docs/logging.html.in: Document new syntax * configure.ac: Check for execinfo.h * src/util/logging.c, src/util/logging.h: Add support for stack traces * tests/testutils.c: Adapt to API change Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'tests/testutils.c')
-rw-r--r--tests/testutils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/testutils.c b/tests/testutils.c
index 6eb40ed6e..98595adf2 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -44,6 +44,8 @@
# include <paths.h>
#endif
+#define VIR_FROM_THIS VIR_FROM_NONE
+
#define GETTIMEOFDAY(T) gettimeofday(T, NULL)
#define DIFF_MSEC(T, U) \
((((int) ((T)->tv_sec - (U)->tv_sec)) * 1000000.0 + \
@@ -469,10 +471,12 @@ virtTestLogOutput(const char *category ATTRIBUTE_UNUSED,
const char *funcname ATTRIBUTE_UNUSED,
long long lineno ATTRIBUTE_UNUSED,
const char *timestamp,
+ unsigned int flags,
const char *str,
void *data)
{
struct virtTestLogData *log = data;
+ virCheckFlags(VIR_LOG_STACK_TRACE, -1);
virBufferAsprintf(&log->buf, "%s: %s", timestamp, str);
return strlen(timestamp) + 2 + strlen(str);
}