2010-06-21 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / utils / mono-logger-internal.h
bloba705daf3caa56834bdfda14cbb0406c9124c31bb
1 #ifndef __MONO_LOGGER_INTERNAL_H__
2 #define __MONO_LOGGER_INTERNAL_H__
4 #include <glib.h>
5 #include "mono-logger.h"
7 G_BEGIN_DECLS
9 typedef enum {
10 MONO_TRACE_ASSEMBLY = (1<<0),
11 MONO_TRACE_TYPE = (1<<1),
12 MONO_TRACE_DLLIMPORT = (1<<2),
13 MONO_TRACE_GC = (1<<3),
14 MONO_TRACE_CONFIG = (1<<4),
15 MONO_TRACE_AOT = (1<<5),
16 MONO_TRACE_SECURITY = (1<<6),
17 MONO_TRACE_ALL = MONO_TRACE_ASSEMBLY |
18 MONO_TRACE_TYPE |
19 MONO_TRACE_DLLIMPORT |
20 MONO_TRACE_GC |
21 MONO_TRACE_CONFIG |
22 MONO_TRACE_AOT |
23 MONO_TRACE_SECURITY
24 } MonoTraceMask;
26 void
27 mono_trace_cleanup (void) MONO_INTERNAL;
29 void
30 mono_trace (GLogLevelFlags level, MonoTraceMask mask, const char *format, ...) MONO_INTERNAL;
32 void
33 mono_tracev (GLogLevelFlags level, MonoTraceMask mask, const char *format, va_list args) MONO_INTERNAL;
35 void
36 mono_trace_set_level (GLogLevelFlags level) MONO_INTERNAL;
38 void
39 mono_trace_set_mask (MonoTraceMask mask) MONO_INTERNAL;
41 void
42 mono_trace_push (GLogLevelFlags level, MonoTraceMask mask) MONO_INTERNAL;
44 void
45 mono_trace_pop (void) MONO_INTERNAL;
47 gboolean
48 mono_trace_is_traced (GLogLevelFlags level, MonoTraceMask mask) MONO_INTERNAL;
50 #ifdef G_HAVE_ISO_VARARGS
51 #define mono_trace_error(...) mono_trace(G_LOG_LEVEL_ERROR, \
52 __VA_ARGS__)
53 #define mono_trace_warning(...) mono_trace(G_LOG_LEVEL_WARNING, \
54 __VA_ARGS__)
55 #define mono_trace_message(...) mono_trace(G_LOG_LEVEL_MESSAGE, \
56 __VA_ARGS__)
57 #elif defined(G_HAVE_GNUC_VARARGS)
58 #define mono_trace_error(format...) mono_trace(G_LOG_LEVEL_ERROR, \
59 format)
60 #define mono_trace_warning(format...) mono_trace(G_LOG_LEVEL_WARNING, \
61 format)
62 #define mono_trace_message(format...) mono_trace(G_LOG_LEVEL_MESSAGE, \
63 format)
64 #else /* no varargs macros */
65 static void
66 mono_trace_error(MonoTraceMask mask, const char *format, ...)
68 va_list args;
69 va_start (args, format);
70 mono_tracev(G_LOG_LEVEL_ERROR, mask, format, args);
71 va_end (args);
74 static void
75 mono_trace_warning(MonoTraceMask mask, const char *format, ...)
77 va_list args;
78 va_start (args, format);
79 mono_tracev(G_LOG_LEVEL_WARNING, mask, format, args);
80 va_end (args);
83 static void
84 mono_trace_message(MonoTraceMask mask, const char *format, ...)
86 va_list args;
87 va_start (args, format);
88 mono_tracev(G_LOG_LEVEL_MESSAGE, mask, format, args);
89 va_end (args);
92 #endif /* !__GNUC__ */
94 G_END_DECLS
96 #endif /* __MONO_LOGGER_INTERNAL_H__ */