xref: /freebsd/usr.sbin/bluetooth/sdpd/log.c (revision 07be7a6c2edb7aa5b3f80ba3d13ace5e22d2b47d)
107be7a6cSMaksim Yevmenkin /*
207be7a6cSMaksim Yevmenkin  * log.c
307be7a6cSMaksim Yevmenkin  *
407be7a6cSMaksim Yevmenkin  * Copyright (c) 2004 Maksim Yevmenkin <m_evmenkin@yahoo.com>
507be7a6cSMaksim Yevmenkin  * All rights reserved.
607be7a6cSMaksim Yevmenkin  *
707be7a6cSMaksim Yevmenkin  * Redistribution and use in source and binary forms, with or without
807be7a6cSMaksim Yevmenkin  * modification, are permitted provided that the following conditions
907be7a6cSMaksim Yevmenkin  * are met:
1007be7a6cSMaksim Yevmenkin  * 1. Redistributions of source code must retain the above copyright
1107be7a6cSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer.
1207be7a6cSMaksim Yevmenkin  * 2. Redistributions in binary form must reproduce the above copyright
1307be7a6cSMaksim Yevmenkin  *    notice, this list of conditions and the following disclaimer in the
1407be7a6cSMaksim Yevmenkin  *    documentation and/or other materials provided with the distribution.
1507be7a6cSMaksim Yevmenkin  *
1607be7a6cSMaksim Yevmenkin  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1707be7a6cSMaksim Yevmenkin  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1807be7a6cSMaksim Yevmenkin  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1907be7a6cSMaksim Yevmenkin  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2007be7a6cSMaksim Yevmenkin  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2107be7a6cSMaksim Yevmenkin  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2207be7a6cSMaksim Yevmenkin  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2307be7a6cSMaksim Yevmenkin  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2407be7a6cSMaksim Yevmenkin  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2507be7a6cSMaksim Yevmenkin  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2607be7a6cSMaksim Yevmenkin  * SUCH DAMAGE.
2707be7a6cSMaksim Yevmenkin  *
2807be7a6cSMaksim Yevmenkin  * $Id: log.c,v 1.1 2004/01/07 23:15:00 max Exp $
2907be7a6cSMaksim Yevmenkin  * $FreeBSD$
3007be7a6cSMaksim Yevmenkin  */
3107be7a6cSMaksim Yevmenkin 
3207be7a6cSMaksim Yevmenkin #include <sys/types.h>
3307be7a6cSMaksim Yevmenkin #include <stdarg.h>
3407be7a6cSMaksim Yevmenkin #include <syslog.h>
3507be7a6cSMaksim Yevmenkin 
3607be7a6cSMaksim Yevmenkin void
3707be7a6cSMaksim Yevmenkin log_open(char const *prog, int32_t log2stderr)
3807be7a6cSMaksim Yevmenkin {
3907be7a6cSMaksim Yevmenkin 	openlog(prog, LOG_PID|LOG_NDELAY|(log2stderr? LOG_PERROR:0), LOG_USER);
4007be7a6cSMaksim Yevmenkin }
4107be7a6cSMaksim Yevmenkin 
4207be7a6cSMaksim Yevmenkin void
4307be7a6cSMaksim Yevmenkin log_close(void)
4407be7a6cSMaksim Yevmenkin {
4507be7a6cSMaksim Yevmenkin 	closelog();
4607be7a6cSMaksim Yevmenkin }
4707be7a6cSMaksim Yevmenkin 
4807be7a6cSMaksim Yevmenkin void
4907be7a6cSMaksim Yevmenkin log_emerg(char const *message, ...)
5007be7a6cSMaksim Yevmenkin {
5107be7a6cSMaksim Yevmenkin 	va_list	ap;
5207be7a6cSMaksim Yevmenkin 
5307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
5407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_EMERG, message, ap);
5507be7a6cSMaksim Yevmenkin 	va_end(ap);
5607be7a6cSMaksim Yevmenkin }
5707be7a6cSMaksim Yevmenkin 
5807be7a6cSMaksim Yevmenkin void
5907be7a6cSMaksim Yevmenkin log_alert(char const *message, ...)
6007be7a6cSMaksim Yevmenkin {
6107be7a6cSMaksim Yevmenkin 	va_list	ap;
6207be7a6cSMaksim Yevmenkin 
6307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
6407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_ALERT, message, ap);
6507be7a6cSMaksim Yevmenkin 	va_end(ap);
6607be7a6cSMaksim Yevmenkin }
6707be7a6cSMaksim Yevmenkin 
6807be7a6cSMaksim Yevmenkin void
6907be7a6cSMaksim Yevmenkin log_crit(char const *message, ...)
7007be7a6cSMaksim Yevmenkin {
7107be7a6cSMaksim Yevmenkin 	va_list	ap;
7207be7a6cSMaksim Yevmenkin 
7307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
7407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_CRIT, message, ap);
7507be7a6cSMaksim Yevmenkin 	va_end(ap);
7607be7a6cSMaksim Yevmenkin }
7707be7a6cSMaksim Yevmenkin 
7807be7a6cSMaksim Yevmenkin void
7907be7a6cSMaksim Yevmenkin log_err(char const *message, ...)
8007be7a6cSMaksim Yevmenkin {
8107be7a6cSMaksim Yevmenkin 	va_list	ap;
8207be7a6cSMaksim Yevmenkin 
8307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
8407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_ERR, message, ap);
8507be7a6cSMaksim Yevmenkin 	va_end(ap);
8607be7a6cSMaksim Yevmenkin }
8707be7a6cSMaksim Yevmenkin 
8807be7a6cSMaksim Yevmenkin void
8907be7a6cSMaksim Yevmenkin log_warning(char const *message, ...)
9007be7a6cSMaksim Yevmenkin {
9107be7a6cSMaksim Yevmenkin 	va_list	ap;
9207be7a6cSMaksim Yevmenkin 
9307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
9407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_WARNING, message, ap);
9507be7a6cSMaksim Yevmenkin 	va_end(ap);
9607be7a6cSMaksim Yevmenkin }
9707be7a6cSMaksim Yevmenkin 
9807be7a6cSMaksim Yevmenkin void
9907be7a6cSMaksim Yevmenkin log_notice(char const *message, ...)
10007be7a6cSMaksim Yevmenkin {
10107be7a6cSMaksim Yevmenkin 	va_list	ap;
10207be7a6cSMaksim Yevmenkin 
10307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
10407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_NOTICE, message, ap);
10507be7a6cSMaksim Yevmenkin 	va_end(ap);
10607be7a6cSMaksim Yevmenkin }
10707be7a6cSMaksim Yevmenkin 
10807be7a6cSMaksim Yevmenkin void
10907be7a6cSMaksim Yevmenkin log_info(char const *message, ...)
11007be7a6cSMaksim Yevmenkin {
11107be7a6cSMaksim Yevmenkin 	va_list	ap;
11207be7a6cSMaksim Yevmenkin 
11307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
11407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_INFO, message, ap);
11507be7a6cSMaksim Yevmenkin 	va_end(ap);
11607be7a6cSMaksim Yevmenkin }
11707be7a6cSMaksim Yevmenkin 
11807be7a6cSMaksim Yevmenkin void
11907be7a6cSMaksim Yevmenkin log_debug(char const *message, ...)
12007be7a6cSMaksim Yevmenkin {
12107be7a6cSMaksim Yevmenkin 	va_list	ap;
12207be7a6cSMaksim Yevmenkin 
12307be7a6cSMaksim Yevmenkin 	va_start(ap, message);
12407be7a6cSMaksim Yevmenkin 	vsyslog(LOG_DEBUG, message, ap);
12507be7a6cSMaksim Yevmenkin 	va_end(ap);
12607be7a6cSMaksim Yevmenkin }
12707be7a6cSMaksim Yevmenkin 
128