7d1395480d4ee42f4e468c1a1ef15ff53a9c2af5
[garming/samba-autobuild/.git] / ctdb / lib / util / debug.c
1 /*
2    Unix SMB/CIFS implementation.
3    ctdb debug functions
4    Copyright (C) Volker Lendecke 2007
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 #include "includes.h"
22 #include "system/time.h"
23 #include <unistd.h>
24
25
26 void do_debug(const char *format, ...)
27 {
28         struct timeval t;
29         va_list ap;
30         char *s = NULL;
31         struct tm *tm;
32         char tbuf[100];
33
34         va_start(ap, format);
35         vasprintf(&s, format, ap);
36         va_end(ap);
37
38         t = timeval_current();
39         tm = localtime(&t.tv_sec);
40
41         strftime(tbuf,sizeof(tbuf)-1,"%Y/%m/%d %H:%M:%S", tm);
42
43         printf("%s.%06u [%5u]: %s", tbuf, (unsigned)t.tv_usec, (unsigned)getpid(), s);
44         fflush(stdout);
45         free(s);
46 }