Electroneum
Loading...
Searching...
No Matches
log.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define log_assert(x)

Enumerations

enum  verbosity_value {
  NO_VERBOSE = 0 , VERB_OPS , VERB_DETAIL , VERB_QUERY ,
  VERB_ALGO , VERB_CLIENT
}

Functions

void verbose (enum verbosity_value level, const char *format,...) ATTR_FORMAT(printf
void void log_init (const char *filename, int use_syslog, const char *chrootdir)
void log_file (FILE *f)
void log_thread_set (int *num)
int log_thread_get (void)
void log_ident_set (const char *id)
void log_set_time (time_t *t)
void log_set_time_asc (int use_asc)
void * log_get_lock (void)
void log_info (const char *format,...) ATTR_FORMAT(printf
void void log_err (const char *format,...) ATTR_FORMAT(printf
void void void log_warn (const char *format,...) ATTR_FORMAT(printf
void void void void log_hex (const char *msg, void *data, size_t length)
void log_buf (enum verbosity_value level, const char *msg, struct sldns_buffer *buf)
void fatal_exit (const char *format,...) ATTR_FORMAT(printf
void void log_vmsg (int pri, const char *type, const char *format, va_list args)

Variables

enum verbosity_value verbosity

Detailed Description

This file contains logging functions.

Definition in file log.h.

Macro Definition Documentation

◆ log_assert

#define log_assert ( x)
Value:
/*nothing*/

an assertion that is thrown to the logfile.

Definition at line 204 of file log.h.

Enumeration Type Documentation

◆ verbosity_value

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

Definition at line 49 of file log.h.

49 {
51 NO_VERBOSE = 0,
62};
@ VERB_QUERY
Definition log.h:57
@ VERB_DETAIL
Definition log.h:55
@ VERB_OPS
Definition log.h:53
@ NO_VERBOSE
Definition log.h:51
@ VERB_CLIENT
Definition log.h:61
@ VERB_ALGO
Definition log.h:59

Function Documentation

◆ fatal_exit()

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
formatprintf-style format string. Arguments follow.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_buf()

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

Easy alternative for log_hex, takes a sldns_buffer.

Parameters
levelverbosity level for this message, compared to global verbosity setting.
msgstring desc to print
bufthe buffer.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_err()

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

Log error message. Pass printf formatted arguments. No trailing newline is needed.

Parameters
formatprintf-style format string. Arguments follow.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_file()

void log_file ( FILE * f)

Set logging to go to the specified file *. This setting does not affect the use_syslog setting.

Parameters
fto that file, or pass NULL to disable logging.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_get_lock()

void * log_get_lock ( void )

get log lock

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_hex()

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
msgstring desc to accompany the hexdump.
datadata to dump in hex format.
lengthlength of data.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_ident_set()

void log_ident_set ( const char * id)

Set identity to print, default is 'unbound'.

Parameters
idstring to print. Name of executable.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_info()

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

Log informational message. Pass printf formatted arguments. No trailing newline is needed.

Parameters
formatprintf-style format string. Arguments follow.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_init()

void void log_init ( const char * filename,
int use_syslog,
const char * chrootdir )

call this to initialize logging services.

Parameters
filenameif NULL stderr is used.
use_syslogset to true to ignore filename and use syslog(3).
chrootdirto which directory we have been chrooted, if any.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_set_time()

void log_set_time ( time_t * t)

Set the time value to print in log entries.

Parameters
tthe point is copied and used to find the time. if NULL, time(2) is used.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_set_time_asc()

void log_set_time_asc ( int use_asc)

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

Parameters
use_ascif true, ascii is printed, otherwise decimal. If the conversion fails or you have no time functions, decimal is printed.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_thread_get()

int log_thread_get ( void )

Get the thread id from logging system. Set after log_init is initialised, or log_thread_set for newly created threads. This initialisation happens in unbound as a daemon, in daemon startup code, when that spawns threads.

Returns
thread number, from 0 and up. Before initialised, returns 0.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_thread_set()

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
numnumber to print for this thread. Owned by caller, must continue to exist.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_vmsg()

void void log_vmsg ( int pri,
const char * type,
const char * format,
va_list args )

va_list argument version of log_info.

Parameters
pripriority type, for example 5 (INFO).
typestring to designate type of message (info, error).
formatthe printf style format to print. no newline.
argsarguments for format string.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_warn()

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

Log warning message. Pass printf formatted arguments. No trailing newline is needed.

Parameters
formatprintf-style format string. Arguments follow.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ verbose()

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
levelverbosity level for this message, compared to global verbosity setting.
formatprintf-style format string. Arguments follow.
Here is the caller graph for this function:

Variable Documentation

◆ verbosity

enum verbosity_value verbosity
extern

The global verbosity setting