Merge from vendor branch NETGRAPH:
[dragonfly.git] / usr.sbin / sdpd / log.c
1 /* $NetBSD: log.c,v 1.1 2006/06/19 15:44:56 gdamore Exp $ */
2 /* $DragonFly: src/usr.sbin/sdpd/log.c,v 1.1 2008/01/06 21:51:30 hasso Exp $ */
3
4 /*
5  * log.c
6  *
7  * Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com>
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29  * SUCH DAMAGE.
30  *
31  * $Id: log.c,v 1.2 2007/11/30 07:39:37 griffin Exp $
32  * $FreeBSD: src/usr.sbin/bluetooth/sdpd/log.c,v 1.1 2004/01/20 20:48:26 emax Exp $
33  */
34
35 #include <sys/types.h>
36 #include <stdarg.h>
37 #include <syslog.h>
38
39 #include "log.h"
40
41 void
42 log_open(char const *prog, int32_t log2stderr)
43 {
44         openlog(prog, LOG_PID|LOG_NDELAY|(log2stderr? LOG_PERROR:0), LOG_USER);
45 }
46
47 void
48 log_close(void)
49 {
50         closelog();
51 }
52
53 void
54 log_emerg(char const *message, ...)
55 {
56         va_list ap;
57
58         va_start(ap, message);
59         vsyslog(LOG_EMERG, message, ap);
60         va_end(ap);
61 }
62
63 void
64 log_alert(char const *message, ...)
65 {
66         va_list ap;
67
68         va_start(ap, message);
69         vsyslog(LOG_ALERT, message, ap);
70         va_end(ap);
71 }
72
73 void
74 log_crit(char const *message, ...)
75 {
76         va_list ap;
77
78         va_start(ap, message);
79         vsyslog(LOG_CRIT, message, ap);
80         va_end(ap);
81 }
82
83 void
84 log_err(char const *message, ...)
85 {
86         va_list ap;
87
88         va_start(ap, message);
89         vsyslog(LOG_ERR, message, ap);
90         va_end(ap);
91 }
92
93 void
94 log_warning(char const *message, ...)
95 {
96         va_list ap;
97
98         va_start(ap, message);
99         vsyslog(LOG_WARNING, message, ap);
100         va_end(ap);
101 }
102
103 void
104 log_notice(char const *message, ...)
105 {
106         va_list ap;
107
108         va_start(ap, message);
109         vsyslog(LOG_NOTICE, message, ap);
110         va_end(ap);
111 }
112
113 void
114 log_info(char const *message, ...)
115 {
116         va_list ap;
117
118         va_start(ap, message);
119         vsyslog(LOG_INFO, message, ap);
120         va_end(ap);
121 }
122
123 void
124 log_debug(char const *message, ...)
125 {
126         va_list ap;
127
128         va_start(ap, message);
129         vsyslog(LOG_DEBUG, message, ap);
130         va_end(ap);
131 }