Macros | Enumerations | Functions | Variables
log.h File Reference

This file contains logging functions. More...

Macros

#define log_assert(x)   /*nothing*/
 an assertion that is thrown to the logfile.
 

Enumerations

enum  verbosity_value {
  NO_VERBOSE =0, NO_VERBOSE = 0, VERB_OPS, VERB_DETAIL,
  VERB_QUERY, VERB_ALGO, VERB_CLIENT
}
 verbosity value: More...
 

Functions

void verbose (enum verbosity_value level, const char *format,...) ATTR_FORMAT(printf
 log a verbose message, pass the level for this message. More...
 
void void log_init (const char *filename, int use_syslog, const char *chrootdir)
 call this to initialize logging services. More...
 
void log_file (FILE *f)
 Set logging to go to the specified file *. More...
 
void log_thread_set (int *num)
 Init a thread (will print this number for the thread log entries). More...
 
void log_ident_set (const char *id)
 Set identity to print, default is 'unbound'. More...
 
void log_set_time (time_t *t)
 Set the time value to print in log entries. More...
 
void log_set_time_asc (int use_asc)
 Set if the time value is printed ascii or decimal in log entries. More...
 
void log_info (const char *format,...) ATTR_FORMAT(printf
 Log informational message. More...
 
void void log_err (const char *format,...) ATTR_FORMAT(printf
 Log error message. More...
 
void void void log_warn (const char *format,...) ATTR_FORMAT(printf
 Log warning message. More...
 
void void void void log_hex (const char *msg, void *data, size_t length)
 Log a hex-string to the log. More...
 
void log_buf (enum verbosity_value level, const char *msg, struct sldns_buffer *buf)
 Easy alternative for log_hex, takes a sldns_buffer. More...
 
void fatal_exit (const char *format,...) ATTR_FORMAT(printf
 Log fatal error message, and exit the current process. More...
 
void void log_vmsg (int pri, const char *type, const char *format, va_list args)
 va_list argument version of log_info. More...
 

Variables

enum verbosity_value verbosity
 The global verbosity setting.
 

Detailed Description

This file contains logging functions.

Enumeration Type Documentation

verbosity value:

Enumerator
NO_VERBOSE 

0 - no verbose messages

VERB_OPS 

1 - operational information

VERB_DETAIL 

2 - detailed information

VERB_QUERY 

3 - query level information

VERB_ALGO 

4 - algorithm level information

VERB_CLIENT 

5 - querier client information

Function Documentation

void verbose ( enum verbosity_value  level,
const char *  format,
  ... 
)

log a verbose message, pass the level for this message.

It has printf formatted arguments. No trailing newline is needed.

Parameters
level,:verbosity level for this message, compared to global verbosity setting.
format,:printf-style format string. Arguments follow.
void void log_init ( const char *  filename,
int  use_syslog,
const char *  chrootdir 
)

call this to initialize logging services.

Parameters
filename,:if NULL stderr is used.
use_syslog,:set to true to ignore filename and use syslog(3).
chrootdir,:to which directory we have been chrooted, if any.

References ident, key_created, log_err(), logfile, logkey, VERB_QUERY, and verbose().

Referenced by context_finalize(), do_log_reopen(), main(), perform_setup(), run_daemon(), service_init(), service_start(), and ub_ctx_create_nopipe().

void log_file ( FILE *  f)

Set logging to go to the specified file *.

This setting does not affect the use_syslog setting.

Parameters
f,:to that file, or pass NULL to disable logging.

References logfile.

Referenced by context_finalize(), and ub_ctx_debugout().

void log_thread_set ( int *  num)

Init a thread (will print this number for the thread log entries).

Must be called from the thread itself. If not called 0 is printed.

Parameters
num,:number to print for this thread. Owned by caller, must continue to exist.

References logkey.

Referenced by daemon_cleanup(), ext_thread(), libworker_dobg(), test_thr_main(), thread_start(), and win_do_cron().

void log_ident_set ( const char *  id)

Set identity to print, default is 'unbound'.

Parameters
id,:string to print. Name of executable.

References ub_packed_rrset_key::id, and ident.

Referenced by main(), and ub_ctx_create_nopipe().

void log_set_time ( time_t *  t)

Set the time value to print in log entries.

Parameters
t,:the point is copied and used to find the time. if NULL, time(2) is used.

References log_now.

Referenced by worker_delete(), and worker_init().

void log_set_time_asc ( int  use_asc)

Set if the time value is printed ascii or decimal in log entries.

Parameters
use_asc,:if true, ascii is printed, otherwise decimal. If the conversion fails or you have no time functions, decimal is printed.

References log_time_asc.

Referenced by config_apply(), and config_set_option().

void log_info ( const char *  format,
  ... 
)

Log informational message.

Pass printf formatted arguments. No trailing newline is needed.

Parameters
format,:printf-style format string. Arguments follow.
void void log_err ( const char *  format,
  ... 
)

Log error message.

Pass printf formatted arguments. No trailing newline is needed.

Parameters
format,:printf-style format string. Arguments follow.
void void void log_warn ( const char *  format,
  ... 
)

Log warning message.

Pass printf formatted arguments. No trailing newline is needed.

Parameters
format,:printf-style format string. Arguments follow.
void void void void log_hex ( const char *  msg,
void *  data,
size_t  length 
)

Log a hex-string to the log.

Can be any length. performs mallocs to do so, slow. But debug useful.

Parameters
msg,:string desc to accompany the hexdump.
data,:data to dump in hex format.
length,:length of data.

References log_hex_f(), and verbosity.

Referenced by test_buffers().

void log_buf ( enum verbosity_value  level,
const char *  msg,
struct sldns_buffer buf 
)

Easy alternative for log_hex, takes a sldns_buffer.

Parameters
level,:verbosity level for this message, compared to global verbosity setting.
msg,:string desc to print
buf,:the buffer.

References log_hex_f(), sldns_buffer_begin(), sldns_buffer_limit(), and verbosity.

Referenced by outnet_udp_cb(), recv_one(), serviced_callbacks(), and test_buffers().

void fatal_exit ( const char *  format,
  ... 
)

Log fatal error message, and exit the current process.

Pass printf formatted arguments. No trailing newline is needed.

Parameters
format,:printf-style format string. Arguments follow.
void void log_vmsg ( int  pri,
const char *  type,
const char *  format,
va_list  args 
)

va_list argument version of log_info.

Parameters
pri,:priority type, for example 5 (INFO).
type,:string to designate type of message (info, error).
format,:the printf style format to print. no newline.
args,:arguments for format string.

References ident, log_now, log_time_asc, logfile, logkey, MSG_GENERIC_ERR, MSG_GENERIC_INFO, MSG_GENERIC_SUCCESS, MSG_GENERIC_WARN, and SERVICE_NAME.

Referenced by fatal_exit(), log_err(), log_info(), log_warn(), and verbose().