Collaboration diagram for mod_log_config:

Data Structures

struct  ap_log_handler


typedef const char * ap_log_handler_fn_t(request_rec *r, char *a)
typedef void * ap_log_writer_init(apr_pool_t *p, server_rec *s, const char *name)
typedef apr_status_t ap_log_writer(request_rec *r, void *handle, const char **portions, int *lengths, int nelts, apr_size_t len)
typedef struct ap_log_handler ap_log_handler


void ap_register_log_handler (apr_pool_t *p, char *tag, ap_log_handler_fn_t *func, int def)
ap_log_writer_initap_log_set_writer_init (ap_log_writer_init *func)
ap_log_writerap_log_set_writer (ap_log_writer *func)

Detailed Description

Typedef Documentation

◆ ap_log_handler

◆ ap_log_handler_fn_t

typedef const char* ap_log_handler_fn_t(request_rec *r, char *a)

callback function prototype for a external log handler

◆ ap_log_writer

typedef apr_status_t ap_log_writer(request_rec *r, void *handle, const char **portions, int *lengths, int nelts, apr_size_t len)

callback which gets called where there is a log line to write.

◆ ap_log_writer_init

typedef void* ap_log_writer_init(apr_pool_t *p, server_rec *s, const char *name)

callback function prototype for external writer initialization.

Function Documentation

◆ ap_log_set_writer()

ap_log_writer* ap_log_set_writer ( ap_log_writer func)

you should probably set the writer at the same time (ie..before open_logs)

◆ ap_log_set_writer_init()

ap_log_writer_init* ap_log_set_writer_init ( ap_log_writer_init func)

you will need to set your init handler BEFORE the open_logs in mod_log_config gets executed

◆ ap_register_log_handler()

void ap_register_log_handler ( apr_pool_t p,
char *  tag,
ap_log_handler_fn_t func,
int  def