2 * Copyright (C) 1997-2010 Andre Noll <maan@tuebingen.mpg.de>
4 * Licensed under the GPL v2. For licencing details see COPYING.
7 /** debug loglevel, gets really noisy */
9 /** still noisy, but won't fill your disk */
11 /** normal, but significant event */
13 /** unexpected event that can be handled */
15 /** unhandled error condition */
17 /** system might be unreliable */
19 /** last message before exit */
22 /** Log messages with lower priority than that will not be compiled in. */
23 #define COMPILE_TIME_LOGLEVEL 0
25 /** Not all compilers support __func__ or an equivalent. */
26 #if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) && !defined(__GNUC__)
27 # if defined(_MSC_VER) && _MSC_VER >= 1300
28 # define __func__ __FUNCTION__
30 # define DSS_NO_FUNC_NAMES
31 # define __func__ "<unknown>"
36 #if DEBUG > COMPILE_TIME_LOGLEVEL
37 #define DSS_DEBUG_LOG(args) \
39 dss_log_set_params(DEBUG, __FILE__, __LINE__, __func__); \
43 #define DSS_DEBUG_LOG(args) do {;} while (0)
46 #if INFO > COMPILE_TIME_LOGLEVEL
47 #define DSS_INFO_LOG(args) \
49 dss_log_set_params(INFO, __FILE__, __LINE__, __func__); \
53 #define DSS_INFO_LOG(args) do {;} while (0)
56 #if NOTICE > COMPILE_TIME_LOGLEVEL
57 #define DSS_NOTICE_LOG(args) \
59 dss_log_set_params(NOTICE, __FILE__, __LINE__, __func__); \
63 #define DSS_NOTICE_LOG(args) do {;} while (0)
66 #if WARNING > COMPILE_TIME_LOGLEVEL
67 #define DSS_WARNING_LOG(args) \
69 dss_log_set_params(WARNING, __FILE__, __LINE__, __func__); \
73 #define DSS_WARNING_LOG(args) do {;} while (0)
76 #if ERROR > COMPILE_TIME_LOGLEVEL
77 #define DSS_ERROR_LOG(args) \
79 dss_log_set_params(ERROR, __FILE__, __LINE__, __func__); \
83 #define DSS_ERROR_LOG(args) do {;} while (0)
86 #if CRIT > COMPILE_TIME_LOGLEVEL
87 #define DSS_CRIT_LOG(args) \
89 dss_log_set_params(CRIT, __FILE__, __LINE__, __func__); \
93 #define DSS_CRIT_LOG(args) do {;} while (0)
96 #if EMERG > COMPILE_TIME_LOGLEVEL
97 #define DSS_EMERG_LOG(args) \
99 dss_log_set_params(EMERG, __FILE__, __LINE__, __func__); \
103 #define DSS_EMERG_LOG(args)