]> git.meshlink.io Git - catta/blob - avahi/log.c
combine avahi-core and avahi-common components into one library
[catta] / avahi / log.c
1 /***
2   This file is part of avahi.
3
4   avahi is free software; you can redistribute it and/or modify it
5   under the terms of the GNU Lesser General Public License as
6   published by the Free Software Foundation; either version 2.1 of the
7   License, or (at your option) any later version.
8
9   avahi is distributed in the hope that it will be useful, but WITHOUT
10   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
12   Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with avahi; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17   USA.
18 ***/
19
20 #ifdef HAVE_CONFIG_H
21 #include <config.h>
22 #endif
23
24 #include <stdio.h>
25 #include <stdarg.h>
26
27 #include "log.h"
28
29 static AvahiLogFunction log_function = NULL;
30
31 void avahi_set_log_function(AvahiLogFunction function) {
32     log_function = function;
33 }
34
35 void avahi_log_ap(AvahiLogLevel level, const char*format, va_list ap) {
36     char txt[256];
37
38     vsnprintf(txt, sizeof(txt), format, ap);
39
40     if (log_function)
41         log_function(level, txt);
42     else
43         fprintf(stderr, "%s\n", txt);
44 }
45
46 void avahi_log(AvahiLogLevel level, const char*format, ...) {
47     va_list ap;
48     va_start(ap, format);
49     avahi_log_ap(level, format, ap);
50     va_end(ap);
51 }
52
53 void avahi_log_error(const char*format, ...) {
54     va_list ap;
55     va_start(ap, format);
56     avahi_log_ap(AVAHI_LOG_ERROR, format, ap);
57     va_end(ap);
58 }
59
60 void avahi_log_warn(const char*format, ...) {
61     va_list ap;
62     va_start(ap, format);
63     avahi_log_ap(AVAHI_LOG_WARN, format, ap);
64     va_end(ap);
65 }
66
67 void avahi_log_notice(const char*format, ...) {
68     va_list ap;
69     va_start(ap, format);
70     avahi_log_ap(AVAHI_LOG_NOTICE, format, ap);
71     va_end(ap);
72 }
73
74 void avahi_log_info(const char*format, ...) {
75     va_list ap;
76     va_start(ap, format);
77     avahi_log_ap(AVAHI_LOG_INFO, format, ap);
78     va_end(ap);
79 }
80
81 void avahi_log_debug(const char*format, ...) {
82     va_list ap;
83     va_start(ap, format);
84     avahi_log_ap(AVAHI_LOG_DEBUG, format, ap);
85     va_end(ap);
86 }