$treeview $search $mathjax $extrastylesheet
librsync  2.0.2
$projectbrief
$projectbrief
$searchbox

trace.c File Reference

logging and debugging output. More...

Go to the source code of this file.

Defines

#define MY_NAME   "librsync"

Functions

static void rs_log_va (int level, char const *fn, char const *fmt, va_list va)
void rs_trace_to (rs_trace_fn_t *new_impl)
 Set the destination of trace information.
void rs_trace_set_level (rs_loglevel level)
 Set the least important message severity that will be output.
void rs_log0_nofn (int level, char const *fmt,...)
void rs_log0 (int level, char const *fn, char const *fmt,...)
void rs_trace_stderr (rs_loglevel UNUSED(level), char const *msg)
void rs_fatal0 (char const *s,...)
void rs_error0 (char const *s,...)
void rs_trace0 (char const *s,...)
int rs_supports_trace (void)
 Check whether the library was compiled with debugging trace.

Variables

rs_trace_fn_t * rs_trace_impl = rs_trace_stderr
int rs_trace_level = RS_LOG_INFO
 rs_trace_enabled()
static const char * rs_severities []
 Log severity strings, if any.

Detailed Description

logging and debugging output.

Todo:
Have a bit set in the log level that says not to include the function name.

Definition in file trace.c.


Function Documentation

void rs_trace_to ( rs_trace_fn_t *  new_impl  ) 

Set the destination of trace information.

Set trace callback.

The callback scheme allows for use within applications that may have their own particular ways of reporting errors: log files for a web server, perhaps, and an error dialog for a browser.

Todo:
Do we really need such fine-grained control, or just yes/no tracing?

Definition at line 79 of file trace.c.

void rs_trace_set_level ( rs_loglevel  level  ) 

Set the least important message severity that will be output.

See also:
api_trace

Definition at line 84 of file trace.c.

int rs_supports_trace ( void   ) 

Check whether the library was compiled with debugging trace.

Returns:
True if the library contains trace code; otherwise false.

If this returns false, then trying to turn trace on will achieve nothing.

See also:
api_trace

Definition at line 171 of file trace.c.


Variable Documentation

int rs_trace_level = RS_LOG_INFO

rs_trace_enabled()

Call this before putting too much effort into generating trace messages.

Definition at line 56 of file trace.c.

const char* rs_severities[] [static]
Initial value:
 {
    "EMERGENCY! ", "ALERT! ", "CRITICAL! ", "ERROR: ", "Warning: ",
    "", "", ""
}

Log severity strings, if any.

Must match ordering in rs_loglevel.

Definition at line 67 of file trace.c.