]>
Commit | Line | Data |
---|---|---|
54988802 | 1 | /* |
05230184 | 2 | * logging.h |
54988802 | 3 | * |
95a6f4c8 | 4 | * Simple logging functions that can be compiled away into nothing. |
54988802 | 5 | * |
95a6f4c8 | 6 | * Copyright (C) 2003,2004 Greg Kroah-Hartman <greg@kroah.com> |
54988802 KS |
7 | * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org> |
8 | * | |
9 | * This program is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public License as published by the | |
11 | * Free Software Foundation version 2 of the License. | |
12 | * | |
13 | * This program is distributed in the hope that it will be useful, but | |
14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 | * General Public License for more details. | |
17 | * | |
18 | * You should have received a copy of the GNU General Public License along | |
19 | * with this program; if not, write to the Free Software Foundation, Inc., | |
20 | * 675 Mass Ave, Cambridge, MA 02139, USA. | |
21 | * | |
22 | */ | |
23 | ||
24 | #ifndef LOGGING_H | |
25 | #define LOGGING_H | |
26 | ||
f10fec81 GKH |
27 | #define info(format, arg...) do { } while (0) |
28 | #define dbg(format, arg...) do { } while (0) | |
29 | #define dbg_parse(format, arg...) do { } while (0) | |
7257cb18 KS |
30 | #define logging_init(foo) do { } while (0) |
31 | #define logging_close(foo) do { } while (0) | |
f10fec81 | 32 | |
54988802 | 33 | #ifdef LOG |
95a6f4c8 | 34 | #include <stdarg.h> |
e5369f0a | 35 | #include <unistd.h> |
54988802 | 36 | #include <syslog.h> |
f10fec81 | 37 | |
d00bd172 KS |
38 | #define LOGNAME_SIZE 42 |
39 | ||
f10fec81 | 40 | #undef info |
54988802 KS |
41 | #define info(format, arg...) \ |
42 | do { \ | |
3fe07342 | 43 | log_message(LOG_INFO , format , ## arg); \ |
54988802 | 44 | } while (0) |
54988802 KS |
45 | |
46 | #ifdef DEBUG | |
f10fec81 | 47 | #undef dbg |
54988802 KS |
48 | #define dbg(format, arg...) \ |
49 | do { \ | |
3fe07342 | 50 | log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ |
54988802 | 51 | } while (0) |
54988802 KS |
52 | #endif |
53 | ||
54 | /* Parser needs it's own debugging statement, we usually don't care about this at all */ | |
55 | #ifdef DEBUG_PARSER | |
f10fec81 | 56 | #undef dbg_parse |
54988802 KS |
57 | #define dbg_parse(format, arg...) \ |
58 | do { \ | |
3fe07342 | 59 | log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ |
54988802 | 60 | } while (0) |
54988802 KS |
61 | #endif |
62 | ||
3fe07342 | 63 | extern void log_message(int level, const char *format, ...) |
54988802 | 64 | __attribute__ ((format (printf, 2, 3))); |
95a6f4c8 | 65 | |
d026a35d | 66 | /* each program that uses syslog must declare this variable somewhere */ |
d00bd172 | 67 | extern unsigned char logname[LOGNAME_SIZE]; |
95a6f4c8 | 68 | |
7257cb18 KS |
69 | #undef logging_init |
70 | static inline void logging_init(char *program_name) | |
95a6f4c8 | 71 | { |
d00bd172 | 72 | snprintf(logname, LOGNAME_SIZE,"%s[%d]", program_name, getpid()); |
95a6f4c8 GKH |
73 | openlog(logname, 0, LOG_DAEMON); |
74 | } | |
75 | ||
7257cb18 KS |
76 | #undef logging_close |
77 | static inline void logging_close(void) | |
78 | { | |
79 | closelog(); | |
80 | } | |
81 | ||
95a6f4c8 | 82 | #endif /* LOG */ |
54988802 KS |
83 | |
84 | #endif |