Update copyright information
[connman] / src / log.c
1 /*
2  *
3  *  Connection Manager
4  *
5  *  Copyright (C) 2007-2008  Intel Corporation. All rights reserved.
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License version 2 as
9  *  published by the Free Software Foundation.
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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  */
21
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25
26 #include <stdarg.h>
27 #include <syslog.h>
28
29 #include "connman.h"
30
31 static volatile int debug_enabled = 0;
32
33 void connman_info(const char *format, ...)
34 {
35         va_list ap;
36
37         va_start(ap, format);
38
39         vsyslog(LOG_INFO, format, ap);
40
41         va_end(ap);
42 }
43
44 void connman_error(const char *format, ...)
45 {
46         va_list ap;
47
48         va_start(ap, format);
49
50         vsyslog(LOG_ERR, format, ap);
51
52         va_end(ap);
53 }
54
55 void connman_debug(const char *format, ...)
56 {
57         va_list ap;
58
59         if (!debug_enabled)
60                 return;
61
62         va_start(ap, format);
63
64         vsyslog(LOG_DEBUG, format, ap);
65
66         va_end(ap);
67 }
68
69 int __connman_log_init(int detach, int debug)
70 {
71         int option = LOG_NDELAY | LOG_PID;
72
73         if (!detach)
74                 option |= LOG_PERROR;
75
76         openlog("connmand", option, LOG_DAEMON);
77
78         syslog(LOG_INFO, "Connection Manager version %s", VERSION);
79
80         debug_enabled = debug;
81
82         return 0;
83 }
84
85 void __connman_log_cleanup(void)
86 {
87         syslog(LOG_INFO, "Exit");
88
89         closelog();
90 }