corosync  3.1.9
Macros | Functions
logsys.h File Reference
#include <stdarg.h>
#include <stdlib.h>
#include <syslog.h>
#include <pthread.h>
#include <limits.h>
#include <corosync/corotypes.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_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_config_debug_get (const char *subsys)
 Return the debug flag for this subsys. 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...
 
void logsys_blackbox_set (int enable)
 
void logsys_blackbox_prefork (void)
 
void logsys_blackbox_postfork (void)
 
cs_error_t logsys_reopen_log_files (void)
 

Macro Definition Documentation

#define ENTER   qb_enter

Definition at line 333 of file logsys.h.

Referenced by sync_abort(), sync_save_transitional(), sync_start(), and votequorum_init().

#define LEAVE   qb_leave

Definition at line 334 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 92 of file logsys.h.

Referenced by _logsys_system_setup(), and totemknet_configure_log_level().

#define LOGSYS_DEBUG_ON   1

Definition at line 93 of file logsys.h.

Referenced by totemknet_configure_log_level().

#define LOGSYS_DEBUG_TRACE   2

Definition at line 94 of file logsys.h.

Referenced by totemknet_configure_log_level().

#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:435
typedef __attribute__

The LOGSYS_DECLARE_SUBSYS macro.

Parameters
subsys

Definition at line 306 of file logsys.h.

#define LOGSYS_DECLARE_SYSTEM (   name,
  mode,
  syslog_facility,
  syslog_priority 
)
Value:
QB_LOG_INIT_DATA(logsys_qb_init); \
__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); \
} \
}
int _logsys_system_setup(const char *mainsystem, unsigned int mode, int syslog_facility, int syslog_priority)
_logsys_system_setup
Definition: logsys.c:304

The LOGSYS_DECLARE_SYSTEM macro.

Parameters
name
mode
syslog_facility
syslog_priority

Definition at line 290 of file logsys.h.

#define LOGSYS_LEVEL_ALERT   LOG_ALERT

Definition at line 70 of file logsys.h.

#define LOGSYS_LEVEL_CRIT   LOG_CRIT

Definition at line 71 of file logsys.h.

Referenced by totemknet_finalize(), and totemknet_initialize().

#define LOGSYS_LEVEL_DEBUG   LOG_DEBUG
#define LOGSYS_LEVEL_EMERG   LOG_EMERG

Definition at line 69 of file logsys.h.

#define LOGSYS_LEVEL_ERROR   LOG_ERR
#define LOGSYS_LEVEL_INFO   LOG_INFO

Definition at line 75 of file logsys.h.

Referenced by main(), and totemknet_initialize().

#define LOGSYS_LEVEL_NOTICE   LOG_NOTICE
#define LOGSYS_LEVEL_TRACE   LOG_TRACE

Definition at line 77 of file logsys.h.

Referenced by main().

#define LOGSYS_LEVEL_WARNING   LOG_WARNING
#define LOGSYS_MAX_PERROR_MSG_LEN   128

Definition at line 87 of file logsys.h.

#define LOGSYS_MAX_SUBSYS_COUNT   32
#define LOGSYS_MAX_SUBSYS_NAMELEN   64

Definition at line 86 of file logsys.h.

Referenced by _logsys_subsys_create(), and _logsys_system_setup().

#define LOGSYS_MODE_FORK   (1<<3)

Definition at line 63 of file logsys.h.

#define LOGSYS_MODE_OUTPUT_FILE   (1<<0)

Definition at line 60 of file logsys.h.

#define LOGSYS_MODE_OUTPUT_STDERR   (1<<1)

Definition at line 61 of file logsys.h.

Referenced by _logsys_system_setup().

#define LOGSYS_MODE_OUTPUT_SYSLOG   (1<<2)

Definition at line 62 of file logsys.h.

Referenced by _logsys_system_setup().

#define LOGSYS_MODE_THREADED   (1<<4)

Definition at line 64 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:87

The LOGSYS_PERROR macro.

Parameters
err_num
level
fmt
args

Definition at line 326 of file logsys.h.

Referenced by logsys_reopen_log_files(), and main().

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

Definition at line 335 of file logsys.h.

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

Definition at line 336 of file logsys.h.

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

Definition at line 337 of file logsys.h.

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

Definition at line 338 of file logsys.h.

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

Definition at line 339 of file logsys.h.

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

Definition at line 340 of file logsys.h.

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

Definition at line 341 of file logsys.h.

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

Definition at line 342 of file logsys.h.

Function Documentation

int _logsys_config_subsys_get ( const char *  subsys)

_logsys_config_subsys_get

Parameters
subsys
Returns

Definition at line 469 of file logsys.c.

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 435 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT, and LOGSYS_MAX_SUBSYS_NAMELEN.

Referenced by _logsys_system_setup(), main(), and totemknet_initialize().

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

Definition at line 903 of file logsys.c.

Referenced by main().

void logsys_blackbox_prefork ( void  )

Definition at line 897 of file logsys.c.

Referenced by main().

void logsys_blackbox_set ( int  enable)

Definition at line 883 of file logsys.c.

void logsys_config_apply ( void  )

logsys_config_apply

Definition at line 792 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by main().

int logsys_config_debug_get ( const char *  subsys)

Return the debug flag for this subsys.

Parameters
subsys
Returns
LOGSYS_DEBUG_OFF | LOGSYS_DEBUG_ON | LOGSYS_DEBUG_TRACE

Definition at line 806 of file logsys.c.

References logsys_logger::debug.

Referenced by totemknet_configure_log_level().

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 823 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 539 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

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

logsys_config_logfile_priority_set

Parameters
subsys
priority
Returns

Definition at line 691 of file logsys.c.

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

unsigned int logsys_config_mode_get ( const char *  subsys)

logsys_config_mode_get

Parameters
subsys
Returns

Definition at line 527 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 505 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 657 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 664 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 652 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 593 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 849 of file logsys.c.

References syslog_names::c_name.

const char* logsys_priority_name_get ( unsigned int  priority)

logsys_priority_name_get

Parameters
priority
Returns
cs_error_t logsys_reopen_log_files ( void  )
void logsys_system_fini ( void  )

logsys_system_fini

Definition at line 286 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 861 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by main().