[test-runner] Write stdout/stderr into StringBuilder instead of an intermediate file
[mono.git] / mono / utils / mono-logger.h
1 #ifndef __MONO_LOGGER_H__
2 #define __MONO_LOGGER_H__
3
4 #include <mono/utils/mono-publib.h>
5 MONO_BEGIN_DECLS
6
7 MONO_API void 
8 mono_trace_set_level_string (const char *value);
9
10 MONO_API void 
11 mono_trace_set_mask_string (const char *value);
12
13 MONO_API void 
14 mono_trace_set_logdest_string (const char *value);
15
16 MONO_API void 
17 mono_trace_set_logheader_string (const char *value);
18
19 typedef void (*MonoPrintCallback) (const char *string, mono_bool is_stdout);
20
21 typedef void (*MonoLoggerOpen) (const char *, void *);
22 typedef void (*MonoLoggerWrite) (const char *, GLogLevelFlags, mono_bool, const char *, va_list);
23 typedef void (*MonoLoggerClose) (void);
24
25 typedef struct _MonoLogCallback_ {
26         MonoLoggerOpen  opener;         /* Routine to open logging */
27         MonoLoggerWrite writer;         /* Routine to write log data */
28         MonoLoggerClose closer;         /* Routine to close logging */
29         mono_bool       header;         /* Whether we want pid/time/date in log message */
30 } MonoLogCallback;
31
32 MONO_API void
33 mono_trace_set_log_handler (MonoLogCallback *callback, const char *dest, void *user_data);
34
35 MONO_API void
36 mono_trace_set_print_handler (MonoPrintCallback callback);
37
38 MONO_API void
39 mono_trace_set_printerr_handler (MonoPrintCallback callback);
40
41 MONO_API void
42 mono_log_open_syslog(const char *, void *);
43
44 MONO_API void
45 mono_log_write_syslog(const char *, GLogLevelFlags, mono_bool, const char *, va_list);
46
47 MONO_API void
48 mono_log_close_syslog(void);
49
50 MONO_API void
51 mono_log_open_logfile(const char *, void *);
52
53 MONO_API void
54 mono_log_write_logfile(const char *, GLogLevelFlags, mono_bool, const char *, va_list);
55
56 MONO_API void
57 mono_log_close_logfile(void);
58
59 MONO_END_DECLS
60
61 #endif /* __MONO_LOGGER_H__ */