log4c_appender.h - Man Page
Implement this interface for your own strategies for printing log statements.
Synopsis
#include <log4c/defs.h>
#include <log4c/layout.h>
#include <stdio.h>
Data Structures
struct log4c_appender_type
log4c appender type class
Macros
#define log4c_appender_type_define(a_type)
Typedefs
typedef struct __log4c_appender log4c_appender_t
typedef struct log4c_appender_type log4c_appender_type_t
log4c appender type class
Functions
const log4c_appender_type_t * log4c_appender_type_get (const char *a_name)
const log4c_appender_type_t * log4c_appender_type_set (const log4c_appender_type_t *a_type)
log4c_appender_t * log4c_appender_get (const char *a_name)
log4c_appender_t * log4c_appender_new (const char *a_name)
void log4c_appender_delete (log4c_appender_t *a_appender)
const char * log4c_appender_get_name (const log4c_appender_t *a_appender)
const log4c_appender_type_t * log4c_appender_get_type (const log4c_appender_t *a_appender)
const log4c_layout_t * log4c_appender_get_layout (const log4c_appender_t *a_appender)
void * log4c_appender_get_udata (const log4c_appender_t *a_appender)
const log4c_appender_type_t * log4c_appender_set_type (log4c_appender_t *a_appender, const log4c_appender_type_t *a_type)
void * log4c_appender_set_udata (log4c_appender_t *a_appender, void *a_udata)
const log4c_layout_t * log4c_appender_set_layout (log4c_appender_t *a_appender, const log4c_layout_t *a_layout)
int log4c_appender_open (log4c_appender_t *a_appender)
int log4c_appender_append (log4c_appender_t *a_appender, log4c_logging_event_t *a_event)
int log4c_appender_close (log4c_appender_t *a_appender)
void log4c_appender_print (const log4c_appender_t *a_appender, FILE *a_stream)
void log4c_appender_types_free (void)
void log4c_appender_types_print (FILE *fp)
Detailed Description
Implement this interface for your own strategies for printing log statements.
- Todo
the appender interface needs a better configuration system depending on the layout type. The udata field is a just a trick.
Macro Definition Documentation
#define log4c_appender_type_define( a_type)
Helper macro to define static appender types.
- Parameters
a_type the log4c_appender_type_t object to define
- Warning
needs GCC support: otherwise this macro does nothing
- Deprecated
This macro, and the static initialialization of appenders in general, is deprecated. Use rather the log4c_appender_type_set() function to initialize your appenders before calling log4c_init()
Typedef Documentation
typedef struct __log4c_appender log4c_appender_t
log4c appender class
typedef struct log4c_appender_type log4c_appender_type_t
log4c appender type class Attributes description:
- name appender type name
- open
- append
- close
Function Documentation
int log4c_appender_append (log4c_appender_t * this, log4c_logging_event_t * a_event)
log in appender specific way.
- Parameters
a_appender the log4c_appender object
a_event the log4c_logging_event_t object to log.- Bug
is this the right place to open an appender ?
int log4c_appender_close (log4c_appender_t * a_appender)
closes the appender
- Parameters
a_appender the log4c_appender_t object
- Returns
zero if successful, -1 otherwise
void log4c_appender_delete (log4c_appender_t * a_appender)
Destructor for log4c_appender_t.
log4c_appender_t * log4c_appender_get (const char * a_name)
Get a pointer to an existing appender.
- Parameters
a_name the name of the appender to return.
- Returns
a pointer to an existing appender, or NULL if no appender with the specfied name exists.
const log4c_layout_t * log4c_appender_get_layout (const log4c_appender_t * a_appender)
- Parameters
a_appender the log4c_appender_t object
- Returns
the appender layout
const char * log4c_appender_get_name (const log4c_appender_t * a_appender)
- Parameters
a_appender the log4c_appender_t object
- Returns
the appender name
const log4c_appender_type_t * log4c_appender_get_type (const log4c_appender_t * a_appender)
- Parameters
a_appender the log4c_appender_t object
- Returns
the appender operations
void * log4c_appender_get_udata (const log4c_appender_t * a_appender)
- Parameters
a_appender the log4c_appender_t object
- Returns
the appender user data
log4c_appender_t * log4c_appender_new (const char * a_name)
Constructor for log4c_appender_t.
int log4c_appender_open (log4c_appender_t * a_appender)
opens the appender.
- Parameters
a_appender the log4c_appender_t object
void log4c_appender_print (const log4c_appender_t * a_appender, FILE * a_stream)
prints the appender on a stream
- Parameters
a_appender the log4c_appender_t object
a_stream the stream
const log4c_layout_t * log4c_appender_set_layout (log4c_appender_t * a_appender, const log4c_layout_t * a_layout)
sets the appender layout
- Parameters
a_appender the log4c_appender_t object
a_layout the new appender layout- Returns
the previous appender layout
const log4c_appender_type_t * log4c_appender_set_type (log4c_appender_t * a_appender, const log4c_appender_type_t * a_type)
sets the appender type
- Parameters
a_appender the log4c_appender_t object
a_type the new appender type- Returns
the previous appender type
void * log4c_appender_set_udata (log4c_appender_t * a_appender, void * a_udata)
sets the appender user data
- Parameters
a_appender the log4c_appender_t object
a_udata the new appender user data- Returns
the previous appender user data
const log4c_appender_type_t * log4c_appender_type_get (const char * a_name)
Get a pointer to an existing appender type.
- Parameters
a_name the name of the appender type to return.
- Returns
a pointer to an existing appender type, or NULL if no appender type with the specified name exists.
const log4c_appender_type_t * log4c_appender_type_set (const log4c_appender_type_t * a_type)
Use this function to register an appender type with log4c. Once this is done you may refer to this type by name both programmatically and in the log4c configuration file.
- Parameters
a_type a pointer to the new appender type to set.
- Returns
a pointer to the previous appender type of same name.
Example code fragment:
const log4c_appender_type_t log4c_appender_type_s13_file = { "s13_file", s13_file_open, s13_file_append, s13_file_close, }; log4c_appender_type_set(&log4c_appender_type_s13_file);
void log4c_appender_types_free (void )
free all appender types
void log4c_appender_types_print (FILE * fp)
prints all the current registered appender types on a stream
- Parameters
fp the stream
Author
Generated automatically by Doxygen for log4c from the source code.
Referenced By
The man pages log4c_appender_append(3), log4c_appender_close(3), log4c_appender_delete(3), log4c_appender_get(3), log4c_appender_get_layout(3), log4c_appender_get_name(3), log4c_appender_get_type(3), log4c_appender_get_udata(3), log4c_appender_new(3), log4c_appender_open(3), log4c_appender_print(3), log4c_appender_set_layout(3), log4c_appender_set_type(3), log4c_appender_set_udata(3), log4c_appender_t(3), log4c_appender_type_define(3), log4c_appender_type_get(3), log4c_appender_type_set(3), log4c_appender_types_free(3), log4c_appender_types_print(3) and log4c_appender_type_t(3) are aliases of log4c_appender.h(3).