1
2
3
4
5
6
7
8
9
10 #ifndef PCMK__CRM_COMMON_LOGGING_COMPAT__H
11 # define PCMK__CRM_COMMON_LOGGING_COMPAT__H
12
13 #include <stdint.h>
14 #include <glib.h>
15 #include <libxml/tree.h>
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21
22
23
24
25
26
27
28
29
30
31
32 enum xml_log_options {
33 xml_log_option_filtered = 0x0001,
34 xml_log_option_formatted = 0x0002,
35 xml_log_option_text = 0x0004,
36 xml_log_option_full_fledged = 0x0008,
37 xml_log_option_diff_plus = 0x0010,
38 xml_log_option_diff_minus = 0x0020,
39 xml_log_option_diff_short = 0x0040,
40 xml_log_option_diff_all = 0x0100,
41 xml_log_option_dirty_add = 0x1000,
42 xml_log_option_open = 0x2000,
43 xml_log_option_children = 0x4000,
44 xml_log_option_close = 0x8000,
45 };
46
47
48
49
50
51
52
53
54
55
56
57
58 # define do_crm_log_always(level, fmt, args...) do { \
59 switch (level) { \
60 case LOG_STDOUT: case LOG_NEVER: \
61 break; \
62 default: \
63 qb_log((level), fmt , ##args); \
64 break; \
65 } \
66 } while (0)
67
68
69 #define crm_str(x) (const char *) ((x)? (x) : "<null>")
70
71
72 gboolean crm_log_cli_init(const char *entity);
73
74
75 gboolean crm_add_logfile(const char *filename);
76
77
78 void log_data_element(int log_level, const char *file, const char *function,
79 int line, const char *prefix, const xmlNode *data,
80 int depth, int legacy_options);
81
82
83 void pcmk_log_xml_impl(uint8_t level, const char *text, const xmlNode *xml);
84
85 #ifdef __cplusplus
86 }
87 #endif
88
89 #endif