corosync 3.1.7
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

◆ ENTER

#define ENTER   qb_enter

Definition at line 333 of file logsys.h.

◆ LEAVE

#define LEAVE   qb_leave

Definition at line 334 of file logsys.h.

◆ log_printf

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

Definition at line 332 of file logsys.h.

◆ LOGSYS_DEBUG_OFF

#define LOGSYS_DEBUG_OFF   0

Definition at line 92 of file logsys.h.

◆ LOGSYS_DEBUG_ON

#define LOGSYS_DEBUG_ON   1

Definition at line 93 of file logsys.h.

◆ LOGSYS_DEBUG_TRACE

#define LOGSYS_DEBUG_TRACE   2

Definition at line 94 of file logsys.h.

◆ LOGSYS_DECLARE_SUBSYS

#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); \
} \
}
typedef __attribute__

The LOGSYS_DECLARE_SUBSYS macro.

Parameters
subsys

Definition at line 306 of file logsys.h.

◆ LOGSYS_DECLARE_SYSTEM

#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.

◆ LOGSYS_LEVEL_ALERT

#define LOGSYS_LEVEL_ALERT   LOG_ALERT

Definition at line 70 of file logsys.h.

◆ LOGSYS_LEVEL_CRIT

#define LOGSYS_LEVEL_CRIT   LOG_CRIT

Definition at line 71 of file logsys.h.

◆ LOGSYS_LEVEL_DEBUG

#define LOGSYS_LEVEL_DEBUG   LOG_DEBUG

Definition at line 76 of file logsys.h.

◆ LOGSYS_LEVEL_EMERG

#define LOGSYS_LEVEL_EMERG   LOG_EMERG

Definition at line 69 of file logsys.h.

◆ LOGSYS_LEVEL_ERROR

#define LOGSYS_LEVEL_ERROR   LOG_ERR

Definition at line 72 of file logsys.h.

◆ LOGSYS_LEVEL_INFO

#define LOGSYS_LEVEL_INFO   LOG_INFO

Definition at line 75 of file logsys.h.

◆ LOGSYS_LEVEL_NOTICE

#define LOGSYS_LEVEL_NOTICE   LOG_NOTICE

Definition at line 74 of file logsys.h.

◆ LOGSYS_LEVEL_TRACE

#define LOGSYS_LEVEL_TRACE   LOG_TRACE

Definition at line 77 of file logsys.h.

◆ LOGSYS_LEVEL_WARNING

#define LOGSYS_LEVEL_WARNING   LOG_WARNING

Definition at line 73 of file logsys.h.

◆ LOGSYS_MAX_PERROR_MSG_LEN

#define LOGSYS_MAX_PERROR_MSG_LEN   128

Definition at line 87 of file logsys.h.

◆ LOGSYS_MAX_SUBSYS_COUNT

#define LOGSYS_MAX_SUBSYS_COUNT   32

Definition at line 85 of file logsys.h.

◆ LOGSYS_MAX_SUBSYS_NAMELEN

#define LOGSYS_MAX_SUBSYS_NAMELEN   64

Definition at line 86 of file logsys.h.

◆ LOGSYS_MODE_FORK

#define LOGSYS_MODE_FORK   (1<<3)

Definition at line 63 of file logsys.h.

◆ LOGSYS_MODE_OUTPUT_FILE

#define LOGSYS_MODE_OUTPUT_FILE   (1<<0)

Definition at line 60 of file logsys.h.

◆ LOGSYS_MODE_OUTPUT_STDERR

#define LOGSYS_MODE_OUTPUT_STDERR   (1<<1)

Definition at line 61 of file logsys.h.

◆ LOGSYS_MODE_OUTPUT_SYSLOG

#define LOGSYS_MODE_OUTPUT_SYSLOG   (1<<2)

Definition at line 62 of file logsys.h.

◆ LOGSYS_MODE_THREADED

#define LOGSYS_MODE_THREADED   (1<<4)

Definition at line 64 of file logsys.h.

◆ LOGSYS_PERROR

#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.

◆ TRACE1

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

Definition at line 335 of file logsys.h.

◆ TRACE2

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

Definition at line 336 of file logsys.h.

◆ TRACE3

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

Definition at line 337 of file logsys.h.

◆ TRACE4

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

Definition at line 338 of file logsys.h.

◆ TRACE5

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

Definition at line 339 of file logsys.h.

◆ TRACE6

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

Definition at line 340 of file logsys.h.

◆ TRACE7

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

Definition at line 341 of file logsys.h.

◆ TRACE8

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

Definition at line 342 of file logsys.h.

Function Documentation

◆ _logsys_config_subsys_get()

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().

◆ _logsys_subsys_create()

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_NAMELEN, and logsys_logger::subsys.

Referenced by _logsys_system_setup().

◆ _logsys_system_setup()

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

_logsys_system_setup

Parameters
mainsystem
mode
syslog_facility
syslog_priority
Returns

Definition at line 304 of file logsys.c.

References _logsys_subsys_create(), and LOGSYS_MAX_SUBSYS_NAMELEN.

◆ logsys_blackbox_postfork()

void logsys_blackbox_postfork ( void  )

Definition at line 903 of file logsys.c.

◆ logsys_blackbox_prefork()

void logsys_blackbox_prefork ( void  )

Definition at line 897 of file logsys.c.

◆ logsys_blackbox_set()

void logsys_blackbox_set ( int  enable)

Definition at line 883 of file logsys.c.

◆ logsys_config_apply()

void logsys_config_apply ( void  )

logsys_config_apply

Definition at line 792 of file logsys.c.

◆ logsys_config_debug_get()

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.

Referenced by totemknet_configure_log_level().

◆ logsys_config_debug_set()

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.

◆ logsys_config_file_set()

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.

◆ logsys_config_logfile_priority_set()

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.

◆ logsys_config_mode_get()

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::subsys.

◆ logsys_config_mode_set()

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.

◆ logsys_config_syslog_facility_set()

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.

◆ logsys_config_syslog_priority_set()

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.

◆ logsys_format_get()

char * logsys_format_get ( void  )

logsys_format_get

Returns

Definition at line 652 of file logsys.c.

◆ logsys_format_set()

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.

◆ logsys_priority_id_get()

int logsys_priority_id_get ( const char *  name)

logsys_priority_id_get

Parameters
name
Returns

Definition at line 849 of file logsys.c.

◆ logsys_priority_name_get()

const char * logsys_priority_name_get ( unsigned int  priority)

logsys_priority_name_get

Parameters
priority
Returns

◆ logsys_reopen_log_files()

cs_error_t logsys_reopen_log_files ( void  )

Definition at line 909 of file logsys.c.

References CS_OK.

◆ logsys_system_fini()

void logsys_system_fini ( void  )

logsys_system_fini

Definition at line 286 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.

Referenced by _corosync_exit_error().

◆ logsys_thread_start()

int logsys_thread_start ( void  )

logsys_thread_start

Returns

Definition at line 861 of file logsys.c.

References LOGSYS_MAX_SUBSYS_COUNT.