corosync  2.4.2
Macros | Functions
logsys.h File Reference
#include <stdarg.h>
#include <stdlib.h>
#include <syslog.h>
#include <pthread.h>
#include <limits.h>
#include <qb/qbconfig.h>
#include <qb/qblog.h>
Include dependency graph for logsys.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LOGSYS_MODE_OUTPUT_FILE   (1<<0)
 
#define LOGSYS_MODE_OUTPUT_STDERR   (1<<1)
 
#define LOGSYS_MODE_OUTPUT_SYSLOG   (1<<2)
 
#define LOGSYS_MODE_FORK   (1<<3)
 
#define LOGSYS_MODE_THREADED   (1<<4)
 
#define LOGSYS_LEVEL_EMERG   LOG_EMERG
 
#define LOGSYS_LEVEL_ALERT   LOG_ALERT
 
#define LOGSYS_LEVEL_CRIT   LOG_CRIT
 
#define LOGSYS_LEVEL_ERROR   LOG_ERR
 
#define LOGSYS_LEVEL_WARNING   LOG_WARNING
 
#define LOGSYS_LEVEL_NOTICE   LOG_NOTICE
 
#define LOGSYS_LEVEL_INFO   LOG_INFO
 
#define LOGSYS_LEVEL_DEBUG   LOG_DEBUG
 
#define LOGSYS_LEVEL_TRACE   LOG_TRACE
 
#define LOGSYS_MAX_SUBSYS_COUNT   32
 
#define LOGSYS_MAX_SUBSYS_NAMELEN   64
 
#define LOGSYS_MAX_PERROR_MSG_LEN   128
 
#define LOGSYS_DEBUG_OFF   0
 
#define LOGSYS_DEBUG_ON   1
 
#define LOGSYS_DEBUG_TRACE   2
 
#define LOGSYS_DECLARE_SYSTEM(name, mode, syslog_facility, syslog_priority)
 The LOGSYS_DECLARE_SYSTEM macro. More...
 
#define LOGSYS_DECLARE_SECTION
 
#define LOGSYS_DECLARE_SUBSYS(subsys)
 The LOGSYS_DECLARE_SUBSYS macro. More...
 
#define LOGSYS_PERROR(err_num, level, fmt, args...)
 The LOGSYS_PERROR macro. More...
 
#define log_printf(level, format, args...)   qb_log(level, format, ##args)
 
#define ENTER   qb_enter
 
#define LEAVE   qb_leave
 
#define TRACE1(format, args...)   qb_log(LOG_TRACE, "TRACE1:" #format, ##args)
 
#define TRACE2(format, args...)   qb_log(LOG_TRACE, "TRACE2:" #format, ##args)
 
#define TRACE3(format, args...)   qb_log(LOG_TRACE, "TRACE3:" #format, ##args)
 
#define TRACE4(format, args...)   qb_log(LOG_TRACE, "TRACE4:" #format, ##args)
 
#define TRACE5(format, args...)   qb_log(LOG_TRACE, "TRACE5:" #format, ##args)
 
#define TRACE6(format, args...)   qb_log(LOG_TRACE, "TRACE6:" #format, ##args)
 
#define TRACE7(format, args...)   qb_log(LOG_TRACE, "TRACE7:" #format, ##args)
 
#define TRACE8(format, args...)   qb_log(LOG_TRACE, "TRACE8:" #format, ##args)
 

Functions

int logsys_format_set (const char *format)
 configuration bits that can only be done for the whole system More...
 
char * logsys_format_get (void)
 logsys_format_get More...
 
int logsys_config_syslog_facility_set (const char *subsys, unsigned int facility)
 per system/subsystem settings. More...
 
int logsys_config_syslog_priority_set (const char *subsys, unsigned int priority)
 logsys_config_syslog_priority_set More...
 
int logsys_config_mode_set (const char *subsys, unsigned int mode)
 logsys_config_mode_set More...
 
unsigned int logsys_config_mode_get (const char *subsys)
 logsys_config_mode_get More...
 
void logsys_config_apply (void)
 logsys_config_apply More...
 
int logsys_config_file_set (const char *subsys, const char **error_string, const char *file)
 to close a logfile, just invoke this function with a NULL file or if you want to change logfile, the old one will be closed for you. More...
 
int logsys_config_logfile_priority_set (const char *subsys, unsigned int priority)
 logsys_config_logfile_priority_set More...
 
int logsys_config_debug_set (const char *subsys, unsigned int value)
 enabling debug, disable message priority filtering. More...
 
int logsys_priority_id_get (const char *name)
 logsys_priority_id_get More...
 
const char * logsys_priority_name_get (unsigned int priority)
 logsys_priority_name_get More...
 
int _logsys_system_setup (const char *mainsystem, unsigned int mode, int syslog_facility, int syslog_priority)
 _logsys_system_setup More...
 
void logsys_system_fini (void)
 logsys_system_fini More...
 
int _logsys_config_subsys_get (const char *subsys)
 _logsys_config_subsys_get More...
 
int _logsys_subsys_create (const char *subsys, const char *filename)
 _logsys_subsys_create More...
 
int logsys_thread_start (void)
 logsys_thread_start More...
 

Macro Definition Documentation

#define ENTER   qb_enter
#define LEAVE   qb_leave

Definition at line 321 of file logsys.h.

Referenced by votequorum_init().

#define log_printf (   level,
  format,
  args... 
)    qb_log(level, format, ##args)
#define LOGSYS_DEBUG_OFF   0

Definition at line 90 of file logsys.h.

Referenced by _logsys_system_setup(), and logsys_config_logfile_priority_set().

#define LOGSYS_DEBUG_ON   1

Definition at line 91 of file logsys.h.

Referenced by logsys_config_logfile_priority_set().

#define LOGSYS_DEBUG_TRACE   2

Definition at line 92 of file logsys.h.

Referenced by logsys_config_logfile_priority_set().

#define LOGSYS_DECLARE_SECTION

Definition at line 285 of file logsys.h.

#define LOGSYS_DECLARE_SUBSYS (   subsys)
Value:
__attribute__ ((constructor)) \
static void logsys_subsys_init (void) \
{ \
logsys_subsys_id = \
_logsys_subsys_create ((subsys), __FILE__); \
if (logsys_subsys_id == -1) { \
fprintf (stderr, \
"Unable to create logging subsystem: %s.\n", subsys); \
exit (-1); \
} \
}
int _logsys_subsys_create(const char *subsys, const char *filename)
_logsys_subsys_create
Definition: logsys.c:436
typedef __attribute__
#define LOGSYS_DECLARE_SECTION
Definition: logsys.h:285

The LOGSYS_DECLARE_SUBSYS macro.

Parameters
subsys

Definition at line 292 of file logsys.h.

#define LOGSYS_DECLARE_SYSTEM (   name,
  mode,
  syslog_facility,
  syslog_priority 
)
Value:
__attribute__ ((constructor)) \
static void logsys_system_init (void) \
{ \
if (_logsys_system_setup (name,mode,syslog_facility,syslog_priority) < 0) { \
fprintf (stderr, \
"Unable to setup logging system: %s.\n", name); \
exit (-1); \
} \
}
typedef __attribute__
int _logsys_system_setup(const char *mainsystem, unsigned int mode, int syslog_facility, int syslog_priority)
_logsys_system_setup
Definition: logsys.c:303

The LOGSYS_DECLARE_SYSTEM macro.

Parameters
name
mode
syslog_facility
syslog_priority

Definition at line 271 of file logsys.h.

#define LOGSYS_LEVEL_ALERT   LOG_ALERT

Definition at line 68 of file logsys.h.

Referenced by wd_get_service_engine_ver0().

#define LOGSYS_LEVEL_CRIT   LOG_CRIT
#define LOGSYS_LEVEL_DEBUG   LOG_DEBUG
#define LOGSYS_LEVEL_EMERG   LOG_EMERG

Definition at line 67 of file logsys.h.

#define LOGSYS_LEVEL_ERROR   LOG_ERR
#define LOGSYS_LEVEL_INFO   LOG_INFO
#define LOGSYS_LEVEL_NOTICE   LOG_NOTICE
#define LOGSYS_LEVEL_TRACE   LOG_TRACE

Definition at line 75 of file logsys.h.

Referenced by main().

#define LOGSYS_LEVEL_WARNING   LOG_WARNING
#define LOGSYS_MAX_PERROR_MSG_LEN   128

Definition at line 85 of file logsys.h.

#define LOGSYS_MAX_SUBSYS_COUNT   32
#define LOGSYS_MAX_SUBSYS_NAMELEN   64

Definition at line 84 of file logsys.h.

Referenced by _logsys_subsys_create(), and _logsys_system_setup().

#define LOGSYS_MODE_FORK   (1<<3)

Definition at line 61 of file logsys.h.

#define LOGSYS_MODE_OUTPUT_FILE   (1<<0)

Definition at line 58 of file logsys.h.

Referenced by _logsys_config_subsys_get(), and logsys_config_logfile_priority_set().

#define LOGSYS_MODE_OUTPUT_STDERR   (1<<1)

Definition at line 59 of file logsys.h.

Referenced by _logsys_config_subsys_get(), and _logsys_system_setup().

#define LOGSYS_MODE_OUTPUT_SYSLOG   (1<<2)

Definition at line 60 of file logsys.h.

Referenced by _logsys_config_subsys_get(), and _logsys_system_setup().

#define LOGSYS_MODE_THREADED   (1<<4)

Definition at line 62 of file logsys.h.

#define LOGSYS_PERROR (   err_num,
  level,
  fmt,
  args... 
)
Value:
do { \
char _error_str[LOGSYS_MAX_PERROR_MSG_LEN]; \
const char *_error_ptr = qb_strerror_r(err_num, _error_str, sizeof(_error_str)); \
qb_log(level, fmt ": %s (%d)", ##args, _error_ptr, err_num); \
} while(0)
#define LOGSYS_MAX_PERROR_MSG_LEN
Definition: logsys.h:85

The LOGSYS_PERROR macro.

Parameters
err_num
level
fmt
args

Definition at line 313 of file logsys.h.

Referenced by _logsys_system_setup(), corosync_state_dump(), and main_mcast().

#define TRACE1 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE1:" #format, ##args)

Definition at line 322 of file logsys.h.

#define TRACE2 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE2:" #format, ##args)

Definition at line 323 of file logsys.h.

#define TRACE3 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE3:" #format, ##args)

Definition at line 324 of file logsys.h.

#define TRACE4 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE4:" #format, ##args)

Definition at line 325 of file logsys.h.

#define TRACE5 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE5:" #format, ##args)

Definition at line 326 of file logsys.h.

#define TRACE6 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE6:" #format, ##args)

Definition at line 327 of file logsys.h.

#define TRACE7 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE7:" #format, ##args)

Definition at line 328 of file logsys.h.

#define TRACE8 (   format,
  args... 
)    qb_log(LOG_TRACE, "TRACE8:" #format, ##args)

Definition at line 329 of file logsys.h.

Function Documentation

int _logsys_config_subsys_get ( const char *  subsys)

_logsys_config_subsys_get

Parameters
subsys
Returns

Definition at line 470 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT, LOGSYS_MODE_OUTPUT_FILE, LOGSYS_MODE_OUTPUT_STDERR, LOGSYS_MODE_OUTPUT_SYSLOG, and logsys_logger::mode.

Referenced by logsys_config_mode_get().

int _logsys_subsys_create ( const char *  subsys,
const char *  filename 
)

_logsys_subsys_create

Parameters
subsys
filename
Returns

Definition at line 436 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT, and LOGSYS_MAX_SUBSYS_NAMELEN.

Referenced by _logsys_system_setup(), and main().

int _logsys_system_setup ( const char *  mainsystem,
unsigned int  mode,
int  syslog_facility,
int  syslog_priority 
)
void logsys_config_apply ( void  )

logsys_config_apply

Definition at line 770 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by main().

int logsys_config_debug_set ( const char *  subsys,
unsigned int  value 
)

enabling debug, disable message priority filtering.

everything is sent everywhere. priority values for file and syslog are not overwritten.

Parameters
subsys
value
Returns

Definition at line 782 of file logsys.c.

References logsys_logger::debug, logsys_logger::dirty, and LOGSYS_MAX_SUBSYS_COUNT.

int logsys_config_file_set ( const char *  subsys,
const char **  error_string,
const char *  file 
)

to close a logfile, just invoke this function with a NULL file or if you want to change logfile, the old one will be closed for you.

Parameters
subsys
error_string
file
Returns

Definition at line 540 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

int logsys_config_logfile_priority_set ( const char *  subsys,
unsigned int  priority 
)
unsigned int logsys_config_mode_get ( const char *  subsys)

logsys_config_mode_get

Parameters
subsys
Returns

Definition at line 528 of file logsys.c.

References _logsys_config_subsys_get(), and logsys_logger::mode.

int logsys_config_mode_set ( const char *  subsys,
unsigned int  mode 
)

logsys_config_mode_set

Parameters
subsys
mode
Returns

Definition at line 506 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

int logsys_config_syslog_facility_set ( const char *  subsys,
unsigned int  facility 
)

per system/subsystem settings.

NOTE: once a subsystem is created and configured, changing the default does NOT affect the subsystems.

Pass a NULL subsystem to change them all

Parameters
subsys
facility
Returns

Definition at line 649 of file logsys.c.

int logsys_config_syslog_priority_set ( const char *  subsys,
unsigned int  priority 
)

logsys_config_syslog_priority_set

Parameters
subsys
priority
Returns

Definition at line 656 of file logsys.c.

References logsys_logger::dirty, LOGSYS_MAX_SUBSYS_COUNT, and logsys_logger::syslog_priority.

char* logsys_format_get ( void  )

logsys_format_get

Returns

Definition at line 644 of file logsys.c.

int logsys_format_set ( const char *  format)

configuration bits that can only be done for the whole system

Parameters
format
Returns

Definition at line 586 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by _logsys_system_setup().

int logsys_priority_id_get ( const char *  name)

logsys_priority_id_get

Parameters
name
Returns

Definition at line 808 of file logsys.c.

References syslog_names::c_name, and syslog_names::c_val.

const char* logsys_priority_name_get ( unsigned int  priority)

logsys_priority_name_get

Parameters
priority
Returns
void logsys_system_fini ( void  )

logsys_system_fini

Definition at line 285 of file logsys.c.

References logsys_logger::file_idx, logsys_logger::files, and LOGSYS_MAX_SUBSYS_COUNT.

Referenced by _corosync_exit_error(), and main().

int logsys_thread_start ( void  )

logsys_thread_start

Returns

Definition at line 820 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by main().