pacemaker  1.1.12-561c4cf
Scalable High-Availability cluster resource manager
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Enumerations | Functions | Variables
logging.h File Reference

Wrappers for and extensions to libqb logging. More...

#include <qb/qblog.h>
Include dependency graph for logging.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LOG_TRACE   LOG_DEBUG+1
 
#define LOG_DEBUG_2   LOG_TRACE
 
#define LOG_DEBUG_3   LOG_TRACE
 
#define LOG_DEBUG_4   LOG_TRACE
 
#define LOG_DEBUG_5   LOG_TRACE
 
#define LOG_DEBUG_6   LOG_TRACE
 
#define crm_log_output(level, prefix, output)   crm_log_output_fn(__FILE__, __FUNCTION__, __LINE__, level, prefix, output)
 
#define CRM_TRACE_INIT_DATA(name)   QB_LOG_INIT_DATA(name)
 
#define do_crm_log(level, fmt, args...)   qb_log_from_external_source( __func__, __FILE__, fmt, level, __LINE__, 0, ##args)
 
#define do_crm_log_unlikely(level, fmt, args...)
 
#define CRM_LOG_ASSERT(expr)
 
#define CRM_CHECK(expr, failure_action)
 
#define do_crm_log_xml(level, text, xml)
 
#define do_crm_log_alias(level, file, function, line, fmt, args...)
 
#define do_crm_log_always(level, fmt, args...)   qb_log(level, "%s: " fmt, __FUNCTION__ , ##args)
 
#define crm_perror(level, fmt, args...)
 
#define crm_log_tag(level, tag, fmt, args...)
 
#define crm_crit(fmt, args...)   qb_logt(LOG_CRIT, 0, fmt , ##args)
 
#define crm_err(fmt, args...)   qb_logt(LOG_ERR, 0, fmt , ##args)
 
#define crm_warn(fmt, args...)   qb_logt(LOG_WARNING, 0, fmt , ##args)
 
#define crm_notice(fmt, args...)   qb_logt(LOG_NOTICE, 0, fmt , ##args)
 
#define crm_info(fmt, args...)   qb_logt(LOG_INFO, 0, fmt , ##args)
 
#define crm_debug(fmt, args...)   do_crm_log_unlikely(LOG_DEBUG, fmt , ##args)
 
#define crm_trace(fmt, args...)   do_crm_log_unlikely(LOG_TRACE, fmt , ##args)
 
#define crm_log_xml_crit(xml, text)   do_crm_log_xml(LOG_CRIT, text, xml)
 
#define crm_log_xml_err(xml, text)   do_crm_log_xml(LOG_ERR, text, xml)
 
#define crm_log_xml_warn(xml, text)   do_crm_log_xml(LOG_WARNING, text, xml)
 
#define crm_log_xml_notice(xml, text)   do_crm_log_xml(LOG_NOTICE, text, xml)
 
#define crm_log_xml_info(xml, text)   do_crm_log_xml(LOG_INFO, text, xml)
 
#define crm_log_xml_debug(xml, text)   do_crm_log_xml(LOG_DEBUG, text, xml)
 
#define crm_log_xml_trace(xml, text)   do_crm_log_xml(LOG_TRACE, text, xml)
 
#define crm_log_xml_explicit(xml, text)
 
#define crm_str(x)   (const char*)(x?x:"<null>")
 

Enumerations

enum  xml_log_options {
  xml_log_option_filtered = 0x0001, xml_log_option_formatted = 0x0002, xml_log_option_diff_plus = 0x0010, xml_log_option_diff_minus = 0x0020,
  xml_log_option_diff_short = 0x0040, xml_log_option_diff_all = 0x0100, xml_log_option_dirty_add = 0x1000, xml_log_option_open = 0x2000,
  xml_log_option_children = 0x4000, xml_log_option_close = 0x8000
}
 

Functions

void crm_enable_blackbox (int nsig)
 
void crm_disable_blackbox (int nsig)
 
void crm_write_blackbox (int nsig, struct qb_log_callsite *callsite)
 
void crm_update_callsites (void)
 
void crm_log_deinit (void)
 
gboolean crm_log_cli_init (const char *entity)
 
void crm_log_preinit (const char *entity, int argc, char **argv)
 
gboolean crm_log_init (const char *entity, uint8_t level, gboolean daemon, gboolean to_stderr, int argc, char **argv, gboolean quiet)
 
void crm_log_args (int argc, char **argv)
 
void crm_log_output_fn (const char *file, const char *function, int line, int level, const char *prefix, const char *output)
 
gboolean crm_add_logfile (const char *filename)
 
void crm_bump_log_level (int argc, char **argv)
 
void crm_enable_stderr (int enable)
 
gboolean crm_is_callsite_active (struct qb_log_callsite *cs, uint8_t level, uint32_t tags)
 
void log_data_element (int log_level, const char *file, const char *function, int line, const char *prefix, xmlNode *data, int depth, gboolean formatted)
 
unsigned int set_crm_log_level (unsigned int level)
 
unsigned int get_crm_log_level (void)
 

Variables

unsigned int crm_log_level
 
gboolean crm_config_error
 
gboolean crm_config_warning
 
unsigned int crm_trace_nonlog
 

Detailed Description

Wrappers for and extensions to libqb logging.

Definition in file logging.h.

Macro Definition Documentation

#define CRM_CHECK (   expr,
  failure_action 
)
Value:
do { \
if(__unlikely((expr) == FALSE)) { \
static struct qb_log_callsite *core_cs = NULL; \
if(core_cs == NULL) { \
core_cs = qb_log_callsite_get(__func__, __FILE__, "check-assert", LOG_TRACE, __LINE__, 0); \
} \
crm_abort(__FILE__, __FUNCTION__, __LINE__, #expr, \
core_cs?core_cs->targets:FALSE, TRUE); \
failure_action; \
} \
} while(0)
#define LOG_TRACE
Definition: logging.h:29
void crm_abort(const char *file, const char *function, int line, const char *condition, gboolean do_core, gboolean do_fork)
#define __unlikely(expr)
Definition: crm.h:53

Definition at line 130 of file logging.h.

#define crm_crit (   fmt,
  args... 
)    qb_logt(LOG_CRIT, 0, fmt , ##args)

Definition at line 181 of file logging.h.

#define crm_debug (   fmt,
  args... 
)    do_crm_log_unlikely(LOG_DEBUG, fmt , ##args)

Definition at line 187 of file logging.h.

#define crm_err (   fmt,
  args... 
)    qb_logt(LOG_ERR, 0, fmt , ##args)

Definition at line 182 of file logging.h.

#define crm_info (   fmt,
  args... 
)    qb_logt(LOG_INFO, 0, fmt , ##args)

Definition at line 185 of file logging.h.

#define CRM_LOG_ASSERT (   expr)
Value:
do { \
if(__unlikely((expr) == FALSE)) { \
static struct qb_log_callsite *core_cs = NULL; \
if(core_cs == NULL) { \
core_cs = qb_log_callsite_get(__func__, __FILE__, "log-assert", LOG_TRACE, __LINE__, 0); \
} \
crm_abort(__FILE__, __FUNCTION__, __LINE__, #expr, \
core_cs?core_cs->targets:FALSE, TRUE); \
} \
} while(0)
#define LOG_TRACE
Definition: logging.h:29
void crm_abort(const char *file, const char *function, int line, const char *condition, gboolean do_core, gboolean do_fork)
#define __unlikely(expr)
Definition: crm.h:53

Definition at line 116 of file logging.h.

#define crm_log_output (   level,
  prefix,
  output 
)    crm_log_output_fn(__FILE__, __FUNCTION__, __LINE__, level, prefix, output)

Definition at line 73 of file logging.h.

#define crm_log_tag (   level,
  tag,
  fmt,
  args... 
)
Value:
do { \
static struct qb_log_callsite *trace_tag_cs = NULL; \
int converted_tag = g_quark_try_string(tag); \
if(trace_tag_cs == NULL) { \
trace_tag_cs = qb_log_callsite_get(__func__, __FILE__, fmt, level, __LINE__, converted_tag); \
} \
if (crm_is_callsite_active(trace_tag_cs, level, converted_tag)) { \
qb_log_from_external_source( __func__, __FILE__, fmt, level, __LINE__, converted_tag, ##args); \
} \
} while(0)
gboolean crm_is_callsite_active(struct qb_log_callsite *cs, uint8_t level, uint32_t tags)

Definition at line 170 of file logging.h.

#define crm_log_xml_crit (   xml,
  text 
)    do_crm_log_xml(LOG_CRIT, text, xml)

Definition at line 190 of file logging.h.

#define crm_log_xml_debug (   xml,
  text 
)    do_crm_log_xml(LOG_DEBUG, text, xml)

Definition at line 195 of file logging.h.

#define crm_log_xml_err (   xml,
  text 
)    do_crm_log_xml(LOG_ERR, text, xml)

Definition at line 191 of file logging.h.

#define crm_log_xml_explicit (   xml,
  text 
)
Value:
do { \
static struct qb_log_callsite *digest_cs = NULL; \
digest_cs = qb_log_callsite_get( \
__func__, __FILE__, text, LOG_TRACE, __LINE__, \
if (digest_cs && digest_cs->targets) { \
do_crm_log_xml(LOG_TRACE, text, xml); \
} \
} while(0)
#define LOG_TRACE
Definition: logging.h:29
unsigned int crm_trace_nonlog
#define do_crm_log_xml(level, text, xml)
Definition: logging.h:142

Definition at line 198 of file logging.h.

#define crm_log_xml_info (   xml,
  text 
)    do_crm_log_xml(LOG_INFO, text, xml)

Definition at line 194 of file logging.h.

#define crm_log_xml_notice (   xml,
  text 
)    do_crm_log_xml(LOG_NOTICE, text, xml)

Definition at line 193 of file logging.h.

#define crm_log_xml_trace (   xml,
  text 
)    do_crm_log_xml(LOG_TRACE, text, xml)

Definition at line 196 of file logging.h.

#define crm_log_xml_warn (   xml,
  text 
)    do_crm_log_xml(LOG_WARNING, text, xml)

Definition at line 192 of file logging.h.

#define crm_notice (   fmt,
  args... 
)    qb_logt(LOG_NOTICE, 0, fmt , ##args)

Definition at line 184 of file logging.h.

#define crm_perror (   level,
  fmt,
  args... 
)
Value:
do { \
const char *err = strerror(errno); \
if(level <= crm_log_level) { \
fprintf(stderr, "%s: " fmt ": %s (%d)\n", __FUNCTION__, ##args, err, errno); \
} \
do_crm_log(level, fmt ": %s (%d)", ##args, err, errno); \
} while(0)
#define do_crm_log(level, fmt, args...)
Definition: logging.h:102
unsigned int crm_log_level

Definition at line 162 of file logging.h.

#define crm_str (   x)    (const char*)(x?x:"<null>")

Definition at line 208 of file logging.h.

#define crm_trace (   fmt,
  args... 
)    do_crm_log_unlikely(LOG_TRACE, fmt , ##args)

Definition at line 188 of file logging.h.

#define CRM_TRACE_INIT_DATA (   name)    QB_LOG_INIT_DATA(name)

Definition at line 99 of file logging.h.

#define crm_warn (   fmt,
  args... 
)    qb_logt(LOG_WARNING, 0, fmt , ##args)

Definition at line 183 of file logging.h.

#define do_crm_log (   level,
  fmt,
  args... 
)    qb_log_from_external_source( __func__, __FILE__, fmt, level, __LINE__, 0, ##args)

Definition at line 102 of file logging.h.

#define do_crm_log_alias (   level,
  file,
  function,
  line,
  fmt,
  args... 
)
Value:
do { \
if(level > 0) { \
qb_log_from_external_source(function, file, fmt, level, line, 0, ##args); \
} else { \
printf(fmt "\n", ##args); \
} \
} while(0)

Definition at line 152 of file logging.h.

#define do_crm_log_always (   level,
  fmt,
  args... 
)    qb_log(level, "%s: " fmt, __FUNCTION__ , ##args)

Definition at line 160 of file logging.h.

#define do_crm_log_unlikely (   level,
  fmt,
  args... 
)
Value:
do { \
static struct qb_log_callsite *trace_cs = NULL; \
if(trace_cs == NULL) { \
trace_cs = qb_log_callsite_get(__func__, __FILE__, fmt, level, __LINE__, 0); \
} \
if (crm_is_callsite_active(trace_cs, level, 0)) { \
qb_log_from_external_source( \
__func__, __FILE__, fmt, level, __LINE__, 0, ##args); \
} \
} while(0)
gboolean crm_is_callsite_active(struct qb_log_callsite *cs, uint8_t level, uint32_t tags)

Definition at line 105 of file logging.h.

#define do_crm_log_xml (   level,
  text,
  xml 
)
Value:
do { \
static struct qb_log_callsite *xml_cs = NULL; \
if(xml_cs == NULL) { \
xml_cs = qb_log_callsite_get(__func__, __FILE__, "xml-blob", level, __LINE__, 0); \
} \
if (crm_is_callsite_active(xml_cs, level, 0)) { \
log_data_element(level, __FILE__, __FUNCTION__, __LINE__, text, xml, 1, xml_log_option_formatted); \
} \
} while(0)
void log_data_element(int log_level, const char *file, const char *function, int line, const char *prefix, xmlNode *data, int depth, gboolean formatted)
gboolean crm_is_callsite_active(struct qb_log_callsite *cs, uint8_t level, uint32_t tags)

Definition at line 142 of file logging.h.

#define LOG_DEBUG_2   LOG_TRACE

Definition at line 31 of file logging.h.

#define LOG_DEBUG_3   LOG_TRACE

Definition at line 32 of file logging.h.

#define LOG_DEBUG_4   LOG_TRACE

Definition at line 33 of file logging.h.

#define LOG_DEBUG_5   LOG_TRACE

Definition at line 34 of file logging.h.

#define LOG_DEBUG_6   LOG_TRACE

Definition at line 35 of file logging.h.

#define LOG_TRACE   LOG_DEBUG+1

Definition at line 29 of file logging.h.

Enumeration Type Documentation

Enumerator
xml_log_option_filtered 
xml_log_option_formatted 
xml_log_option_diff_plus 
xml_log_option_diff_minus 
xml_log_option_diff_short 
xml_log_option_diff_all 
xml_log_option_dirty_add 
xml_log_option_open 
xml_log_option_children 
xml_log_option_close 

Definition at line 42 of file logging.h.

Function Documentation

gboolean crm_add_logfile ( const char *  filename)
void crm_bump_log_level ( int  argc,
char **  argv 
)
void crm_disable_blackbox ( int  nsig)
void crm_enable_blackbox ( int  nsig)
void crm_enable_stderr ( int  enable)
gboolean crm_is_callsite_active ( struct qb_log_callsite *  cs,
uint8_t  level,
uint32_t  tags 
)
void crm_log_args ( int  argc,
char **  argv 
)
gboolean crm_log_cli_init ( const char *  entity)
void crm_log_deinit ( void  )
gboolean crm_log_init ( const char *  entity,
uint8_t  level,
gboolean  daemon,
gboolean  to_stderr,
int  argc,
char **  argv,
gboolean  quiet 
)
void crm_log_output_fn ( const char *  file,
const char *  function,
int  line,
int  level,
const char *  prefix,
const char *  output 
)
void crm_log_preinit ( const char *  entity,
int  argc,
char **  argv 
)
void crm_update_callsites ( void  )
void crm_write_blackbox ( int  nsig,
struct qb_log_callsite *  callsite 
)
unsigned int get_crm_log_level ( void  )
void log_data_element ( int  log_level,
const char *  file,
const char *  function,
int  line,
const char *  prefix,
xmlNode *  data,
int  depth,
gboolean  formatted 
)
unsigned int set_crm_log_level ( unsigned int  level)

Variable Documentation

gboolean crm_config_error
gboolean crm_config_warning
unsigned int crm_log_level
unsigned int crm_trace_nonlog