]>
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 GKH |
37 | |
38 | #undef info | |
82ca8890 KS |
39 | #define info(format, arg...) \ |
40 | do { \ | |
41 | log_message(LOG_INFO , format , ## arg); \ | |
54988802 | 42 | } while (0) |
54988802 KS |
43 | |
44 | #ifdef DEBUG | |
f10fec81 | 45 | #undef dbg |
82ca8890 KS |
46 | #define dbg(format, arg...) \ |
47 | do { \ | |
3fe07342 | 48 | log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ |
54988802 | 49 | } while (0) |
54988802 KS |
50 | #endif |
51 | ||
52 | /* Parser needs it's own debugging statement, we usually don't care about this at all */ | |
53 | #ifdef DEBUG_PARSER | |
f10fec81 | 54 | #undef dbg_parse |
82ca8890 KS |
55 | #define dbg_parse(format, arg...) \ |
56 | do { \ | |
3fe07342 | 57 | log_message(LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg); \ |
54988802 | 58 | } while (0) |
54988802 KS |
59 | #endif |
60 | ||
3fe07342 | 61 | extern void log_message(int level, const char *format, ...) |
54988802 | 62 | __attribute__ ((format (printf, 2, 3))); |
95a6f4c8 | 63 | |
7257cb18 | 64 | #undef logging_init |
82ca8890 | 65 | static inline void logging_init(const char *program_name) |
95a6f4c8 | 66 | { |
82ca8890 | 67 | openlog(program_name, LOG_PID, LOG_DAEMON); |
95a6f4c8 GKH |
68 | } |
69 | ||
7257cb18 KS |
70 | #undef logging_close |
71 | static inline void logging_close(void) | |
72 | { | |
73 | closelog(); | |
74 | } | |
75 | ||
95a6f4c8 | 76 | #endif /* LOG */ |
54988802 KS |
77 | |
78 | #endif |