diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-03-26 21:28:59 +0800 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-03-26 21:31:43 +0800 |
commit | dc5062b1850089021199abd686a802b59bed7c46 (patch) | |
tree | 45baddefdeb32fee2d29486277b99ff785ff4187 /openbsc/include/openbsc/debug.h | |
parent | b464fb4a8958848273da05505b64f3074430b80f (diff) |
move log/debug codebase to libosmocore
The logging/debugging code is generic enough to move it into libosmocore
while keeping OpenBSC specific definitions in openbsc itself.
This commit uses the logging support present in libosmocore-0.1.2,
you will have to update your library to this version.
Diffstat (limited to 'openbsc/include/openbsc/debug.h')
-rw-r--r-- | openbsc/include/openbsc/debug.h | 89 |
1 files changed, 5 insertions, 84 deletions
diff --git a/openbsc/include/openbsc/debug.h b/openbsc/include/openbsc/debug.h index 4b67c61b8..f1c5a699a 100644 --- a/openbsc/include/openbsc/debug.h +++ b/openbsc/include/openbsc/debug.h @@ -5,6 +5,7 @@ #include <osmocore/linuxlist.h> #define DEBUG +#include <osmocore/logging.h> /* Debug Areas of the code */ enum { @@ -31,31 +32,6 @@ enum { Debug_LastEntry, }; -#ifdef DEBUG -#define DEBUGP(ss, fmt, args...) debugp(ss, __FILE__, __LINE__, 0, fmt, ## args) -#define DEBUGPC(ss, fmt, args...) debugp(ss, __FILE__, __LINE__, 1, fmt, ## args) -#else -#define DEBUGP(xss, fmt, args...) -#define DEBUGPC(ss, fmt, args...) -#endif - - -#define static_assert(exp, name) typedef int dummy##name [(exp) ? 1 : -1]; - -char *hexdump(const unsigned char *buf, int len); -void debugp(unsigned int subsys, char *file, int line, int cont, const char *format, ...) __attribute__ ((format (printf, 5, 6))); - -/* new logging interface */ -#define LOGP(ss, level, fmt, args...) debugp2(ss, level, __FILE__, __LINE__, 0, fmt, ##args) -#define LOGPC(ss, level, fmt, args...) debugp2(ss, level, __FILE__, __LINE__, 1, fmt, ##args) - -/* different levels */ -#define LOGL_DEBUG 1 /* debugging information */ -#define LOGL_INFO 3 -#define LOGL_NOTICE 5 /* abnormal/unexpected condition */ -#define LOGL_ERROR 7 /* error condition, requires user action */ -#define LOGL_FATAL 8 /* fatal, program aborted */ - /* context */ #define BSC_CTX_LCHAN 0 #define BSC_CTX_SUBSCR 1 @@ -65,67 +41,12 @@ void debugp(unsigned int subsys, char *file, int line, int cont, const char *for /* target */ enum { - DEBUG_FILTER_IMSI = 1 << 0, - DEBUG_FILTER_ALL = 1 << 1, -}; - -struct debug_category { - int enabled; - int loglevel; + //DEBUG_FILTER_ALL = 1 << 0, + LOG_FILTER_IMSI = 1 << 1, }; -struct debug_target { - int filter_map; - char *imsi_filter; - - - struct debug_category categories[Debug_LastEntry]; - int use_color; - int print_timestamp; - int loglevel; - - union { - struct { - FILE *out; - } tgt_stdout; - - struct { - int priority; - } tgt_syslog; - - struct { - void *vty; - } tgt_vty; - }; - - void (*output) (struct debug_target *target, const char *string); - - struct llist_head entry; -}; - -/* use the above macros */ -void debugp2(unsigned int subsys, unsigned int level, char *file, int line, int cont, const char *format, ...) __attribute__ ((format (printf, 6, 7))); -void debug_init(void); - -/* context management */ -void debug_reset_context(void); -void debug_set_context(int ctx, void *value); - -/* filter on the targets */ -void debug_set_imsi_filter(struct debug_target *target, const char *imsi); -void debug_set_all_filter(struct debug_target *target, int); -void debug_set_use_color(struct debug_target *target, int); -void debug_set_print_timestamp(struct debug_target *target, int); -void debug_set_log_level(struct debug_target *target, int log_level); -void debug_parse_category_mask(struct debug_target *target, const char* mask); -int debug_parse_level(const char *lvl); -int debug_parse_category(const char *category); -void debug_set_category_filter(struct debug_target *target, int category, int enable, int level); +void log_set_imsi_filter(struct log_target *target, const char *imsi); +extern const struct log_info log_info; -/* management of the targets */ -struct debug_target *debug_target_create(void); -struct debug_target *debug_target_create_stderr(void); -void debug_add_target(struct debug_target *target); -void debug_del_target(struct debug_target *target); #endif /* _DEBUG_H */ |