diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2012-05-09 15:18:56 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2012-05-15 17:01:40 +0100 |
commit | 548563956e484e0e43e9a66a89bdda0f95930108 (patch) | |
tree | 6992dfae7e7756a896b6dc6d17fa19b8a6f2ffb6 /tests/testutils.c | |
parent | Move user libvirtd socket out of abstract namespace (diff) | |
download | libvirt-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.c | 4 |
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); } |