X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-logger-internals.h;h=0933903e747c4d88e8a0cd380a81703a3f16a47d;hb=6c374838220d424d54f08e3350ce7c3e41a63c7e;hp=f32a25e306d75f5a64ddd70ef84aaea354a290e2;hpb=539ae700e29bda4d60b1bd8cd0e4726452d184f9;p=mono.git diff --git a/mono/utils/mono-logger-internals.h b/mono/utils/mono-logger-internals.h index f32a25e306d..0933903e747 100644 --- a/mono/utils/mono-logger-internals.h +++ b/mono/utils/mono-logger-internals.h @@ -1,7 +1,12 @@ +/** + * \file + */ + #ifndef __MONO_LOGGER_INTERNAL_H__ #define __MONO_LOGGER_INTERNAL_H__ #include +#include #include "mono-logger.h" G_BEGIN_DECLS @@ -74,8 +79,8 @@ mono_tracev (GLogLevelFlags level, MonoTraceMask mask, const char *format, va_li * Traces a new message, depending on the current logging level * and trace mask. */ -G_GNUC_UNUSED static void -mono_trace (GLogLevelFlags level, MonoTraceMask mask, const char *format, ...) +G_GNUC_UNUSED MONO_ATTR_FORMAT_PRINTF(3,4) static void +mono_trace (GLogLevelFlags level, MonoTraceMask mask, const char *format, ...) { if(G_UNLIKELY (level <= mono_internal_current_level && mask & mono_internal_current_mask)) { va_list args; @@ -149,6 +154,44 @@ mono_trace_message(MonoTraceMask mask, const char *format, ...) #endif +/* Internal logging API */ +typedef void (*MonoLoggerOpen) (const char *, void *); +typedef void (*MonoLoggerWrite) (const char *, GLogLevelFlags, mono_bool, const char *); +typedef void (*MonoLoggerClose) (void); + +typedef struct _MonoLogCallParm_ { + MonoLoggerOpen opener; /* Routine to open logging */ + MonoLoggerWrite writer; /* Routine to write log data */ + MonoLoggerClose closer; /* Routine to close logging */ + char *dest; /* Log destination */ + void *user_data; /* User data from legacy handler */ + mono_bool header; /* Whether we want pid/time/date in log message */ +} MonoLogCallParm; + +void mono_trace_set_log_handler_internal (MonoLogCallParm *callback, void *user_data); +void mono_trace_set_logdest_string (const char *value); +void mono_trace_set_logheader_string (const char *value); + +void mono_log_open_syslog (const char *, void *); +void mono_log_write_syslog (const char *, GLogLevelFlags, mono_bool, const char *); +void mono_log_close_syslog (void); + +void mono_log_open_logfile (const char *, void *); +void mono_log_write_logfile (const char *, GLogLevelFlags, mono_bool, const char *); +void mono_log_close_logfile (void); + +#if PLATFORM_ANDROID +void mono_log_open_logcat (const char *path, void *userData); +void mono_log_write_logcat (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message); +void mono_log_close_logcat (void); +#endif + +#if defined(HOST_IOS) +void mono_log_open_asl (const char *path, void *userData); +void mono_log_write_asl (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message); +void mono_log_close_asl (void); + +#endif G_END_DECLS