diff --git a/mbuni/mmlib/mms_eventlogger.c b/mbuni/mmlib/mms_eventlogger.c index 61a34d9..7eb6ef7 100644 --- a/mbuni/mmlib/mms_eventlogger.c +++ b/mbuni/mmlib/mms_eventlogger.c @@ -19,7 +19,7 @@ static Octstr *shell_cmd; #undef error #undef warning #undef info -static void default_logger(enum mbuni_event_type_t type, int level, const char *file, +static void default_logger(enum mbuni_event_type_t type, const char *subtype, int level, const char *file, int line, const char *interface, Octstr *id, Octstr *msg) @@ -45,7 +45,7 @@ static void default_logger(enum mbuni_event_type_t type, int level, const char * } -static void shell_logger(enum mbuni_event_type_t type, int level, const char *file, +static void shell_logger(enum mbuni_event_type_t type, const char *subtype, int level, const char *file, int line, const char *interface, Octstr *id, Octstr *msg) @@ -72,8 +72,8 @@ static void shell_logger(enum mbuni_event_type_t type, int level, const char *fi escape_shell_chars(id); - cmd = octstr_format("%S '%s' %d '%s' '%s' %d '%S' '%S'", - shell_cmd, xtype, level, interface ? interface : "", file, line, xid ? xid : octstr_imm(""), msg); + cmd = octstr_format("%S '%s' '%s' %d '%s' '%s' %d '%S' '%S'", + shell_cmd, xtype, subtype ? subtype : "", level, interface ? interface : "", file, line, xid ? xid : octstr_imm(""), msg); system(octstr_get_cstr(cmd)); octstr_destroy(cmd); @@ -121,7 +121,7 @@ int mms_event_logger_init(MmsEventLoggerFuncs *funcs, Octstr *init_param) return -1; } -extern void mms_event_logger(enum mbuni_event_type_t type, int level, const char *file, +extern void mms_event_logger(enum mbuni_event_type_t type, const char *subtype, int level, const char *file, int line, char *interface, Octstr *id, char *fmt,...) { @@ -133,7 +133,7 @@ extern void mms_event_logger(enum mbuni_event_type_t type, int level, const char va_end(ap); - log_handler->log_event(type, level, file, line, interface, id, x); + log_handler->log_event(type,subtype, level, file, line, interface, id, x); octstr_destroy(x); } diff --git a/mbuni/mmlib/mms_eventlogger.h b/mbuni/mmlib/mms_eventlogger.h index 309b4b6..6fe71ec 100644 --- a/mbuni/mmlib/mms_eventlogger.h +++ b/mbuni/mmlib/mms_eventlogger.h @@ -19,7 +19,7 @@ typedef enum mbuni_event_type_t {MBUNI_ERROR, MBUNI_INFO, MBUNI_WARNING} mbuni_event_type_t; typedef struct MmsEventLoggerFuncs { int (*init)(Octstr *init_param); - void (*log_event)(mbuni_event_type_t type, int level, const char *file, int line, + void (*log_event)(enum mbuni_event_type_t type, const char *subtype, int level, const char *file, int line, const char *interface, Octstr *id, Octstr *msg); int (*cleanup)(void); @@ -32,13 +32,18 @@ extern int mms_event_logger_init(MmsEventLoggerFuncs *funcs, Octstr *init_param) * - id is an id for the interface element (e.g. mmsc id) */ extern void mms_event_logger_cleanup(void); -extern void mms_event_logger(enum mbuni_event_type_t type, int level, const char *file, +extern void mms_event_logger(enum mbuni_event_type_t type, const char *subtype, + int level, const char *file, int line, char *interface, Octstr *id, char *fmt,...); -#define mms_error(level,intf,id,fmt,...) mms_event_logger(MBUNI_ERROR, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) -#define mms_info(level,intf,id,fmt,...) mms_event_logger(MBUNI_INFO, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) -#define mms_warning(level,intf,id,fmt,...) mms_event_logger(MBUNI_WARNING, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) +#define mms_error(level,intf,id,fmt,...) mms_event_logger(MBUNI_ERROR, NULL, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) +#define mms_info(level,intf,id,fmt,...) mms_event_logger(MBUNI_INFO, NULL, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) +#define mms_warning(level,intf,id,fmt,...) mms_event_logger(MBUNI_WARNING, NULL, (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) + +#define mms_error_ex(subtype,level,intf,id,fmt,...) mms_event_logger(MBUNI_ERROR, (subtype), (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) +#define mms_info_ex(subtype,level,intf,id,fmt,...) mms_event_logger(MBUNI_INFO, (subtype), (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) +#define mms_warning_ex(subtype,level,intf,id,fmt,...) mms_event_logger(MBUNI_WARNING, (subtype), (level), __FILE__, __LINE__,(intf), (id),(fmt),##__VA_ARGS__) MmsEventLoggerFuncs shell_event_logger; /* For logging using a shell command. */ @@ -46,6 +51,6 @@ MmsEventLoggerFuncs shell_event_logger; /* For logging using a shell command. */ /* Stop all from using gwlib info, error and warning functions */ #define error use_mms_error_instead #define warning use_mms_warning_instead -#define info use_mms_warning_instead +#define info use_mms_info_instead #endif