netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
logger.h File Reference
#include <limits.h>
#include <stdbool.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  log_config_t
struct  logtype_conf_t

Macros

#define UAM_MODULE_EXPORT
#define logoption_nsrcinfo   0x04 /* don't log source info */
#define logoption_pid   0x01 /* log the pid with each message */
#define logoption_cons   0x02 /* log on the console if error logging */
#define logoption_ndelay   0x08 /* don't delay open */
#define logoption_perror   0x20 /* log to stderr as well */
#define logoption_nfile   0x40 /* ignore the file that called the log */
#define logoption_nline   0x80 /* ignore the line that called the log*/
#define logfacility_user   (1<<3) /* random user-level messages */
#define logfacility_mail   (2<<3) /* mail system */
#define logfacility_daemon   (3<<3) /* system daemons */
#define logfacility_auth   (4<<3) /* security/authorization messages */
#define logfacility_syslog   (5<<3) /* messages generated by syslogd */
#define logfacility_lpr   (6<<3) /* line printer subsystem */
#define logfacility_authpriv   (10<<3) /* security/auth messages (private) */
#define logfacility_ftp   (11<<3) /* ftp daemon */
#define LOG_MAX   log_info
#define LOG(log_level, type, ...)

Enumerations

enum  loglevels {
  log_none , log_severe , log_error , log_warning ,
  log_note , log_info , log_debug , log_debug6 ,
  log_debug7 , log_debug8 , log_debug9 , log_maxdebug
}
enum  logtypes {
  logtype_default , logtype_logger , logtype_cnid , logtype_afpd ,
  logtype_dsi , logtype_atalkd , logtype_papd , logtype_uams ,
  logtype_fce , logtype_ad , logtype_sl , logtype_end_of_list_marker
}

Functions

void setuplog (const char *loglevel, const char *logfile, const bool log_us_timestamp)
void set_processname (const char *processname)
void syslog_setup (int loglevel, enum logtypes logtype, int display_options, int facility)
UAM_MODULE_EXPORT void make_log_entry (enum loglevels loglevel, enum logtypes logtype, const char *file, const bool log_us_timestamp, int line, char *message,...)

Variables

log_config_t log_config
UAM_MODULE_EXPORT logtype_conf_t type_configs [logtype_end_of_list_marker]

Macro Definition Documentation

◆ LOG

#define LOG ( log_level,
type,
... )
Value:
do { \
if (log_level <= type_configs[type].level) \
make_log_entry((log_level), (type), __FILE__, type_configs[type].timestamp_us, __LINE__, __VA_ARGS__); \
} while(0)
UAM_MODULE_EXPORT logtype_conf_t type_configs[logtype_end_of_list_marker]
Definition logger.c:84
static enum op type
Definition nad_cp.c:95

◆ LOG_MAX

#define LOG_MAX   log_info

◆ logfacility_auth

#define logfacility_auth   (4<<3) /* security/authorization messages */

◆ logfacility_authpriv

#define logfacility_authpriv   (10<<3) /* security/auth messages (private) */

◆ logfacility_daemon

#define logfacility_daemon   (3<<3) /* system daemons */

◆ logfacility_ftp

#define logfacility_ftp   (11<<3) /* ftp daemon */

◆ logfacility_lpr

#define logfacility_lpr   (6<<3) /* line printer subsystem */

◆ logfacility_mail

#define logfacility_mail   (2<<3) /* mail system */

◆ logfacility_syslog

#define logfacility_syslog   (5<<3) /* messages generated by syslogd */

◆ logfacility_user

#define logfacility_user   (1<<3) /* random user-level messages */

◆ logoption_cons

#define logoption_cons   0x02 /* log on the console if error logging */

◆ logoption_ndelay

#define logoption_ndelay   0x08 /* don't delay open */

◆ logoption_nfile

#define logoption_nfile   0x40 /* ignore the file that called the log */

◆ logoption_nline

#define logoption_nline   0x80 /* ignore the line that called the log*/

◆ logoption_nsrcinfo

#define logoption_nsrcinfo   0x04 /* don't log source info */

◆ logoption_perror

#define logoption_perror   0x20 /* log to stderr as well */

◆ logoption_pid

#define logoption_pid   0x01 /* log the pid with each message */

◆ UAM_MODULE_EXPORT

#define UAM_MODULE_EXPORT

Enumeration Type Documentation

◆ loglevels

enum loglevels
Enumerator
log_none 
log_severe 
log_error 
log_warning 
log_note 
log_info 
log_debug 
log_debug6 
log_debug7 
log_debug8 
log_debug9 
log_maxdebug 

◆ logtypes

enum logtypes
Enumerator
logtype_default 
logtype_logger 
logtype_cnid 
logtype_afpd 
logtype_dsi 
logtype_atalkd 
logtype_papd 
logtype_uams 
logtype_fce 
logtype_ad 
logtype_sl 
logtype_end_of_list_marker 

Function Documentation

◆ make_log_entry()

UAM_MODULE_EXPORT void make_log_entry ( enum loglevels loglevel,
enum logtypes logtype,
const char * file,
const bool log_us_timestamp,
int line,
char * message,
... )

◆ set_processname()

void set_processname ( const char * processname)

◆ setuplog()

void setuplog ( const char * loglevel,
const char * logfile,
const bool log_us_timestamp )

◆ syslog_setup()

void syslog_setup ( int loglevel,
enum logtypes logtype,
int display_options,
int facility )

Variable Documentation

◆ log_config

log_config_t log_config
extern

◆ type_configs