Implement this interface for your own strategies for printing log statements.
#include <log4c/defs.h>
#include <log4c/layout.h>
#include <stdio.h>
struct log4c_appender_type
log4c appender type class
#define log4c_appender_type_define(a_type)
typedef struct __log4c_appender log4c_appender_t
typedef struct log4c_appender_type log4c_appender_type_t
log4c appender type class
LOG4C_API const log4c_appender_type_t * log4c_appender_type_get (const char *a_name)
LOG4C_API const log4c_appender_type_t * log4c_appender_type_set (const log4c_appender_type_t *a_type)
LOG4C_API log4c_appender_t * log4c_appender_get (const char *a_name)
LOG4C_API log4c_appender_t * log4c_appender_new (const char *a_name)
LOG4C_API void log4c_appender_delete (log4c_appender_t *a_appender)
LOG4C_API const char * log4c_appender_get_name (const log4c_appender_t *a_appender)
LOG4C_API const log4c_appender_type_t * log4c_appender_get_type (const log4c_appender_t *a_appender)
LOG4C_API const log4c_layout_t * log4c_appender_get_layout (const log4c_appender_t *a_appender)
LOG4C_API void * log4c_appender_get_udata (const log4c_appender_t *a_appender)
LOG4C_API const log4c_appender_type_t * log4c_appender_set_type (log4c_appender_t *a_appender, const log4c_appender_type_t *a_type)
LOG4C_API void * log4c_appender_set_udata (log4c_appender_t *a_appender, void *a_udata)
LOG4C_API const log4c_layout_t * log4c_appender_set_layout (log4c_appender_t *a_appender, const log4c_layout_t *a_layout)
LOG4C_API int log4c_appender_open (log4c_appender_t *a_appender)
LOG4C_API int log4c_appender_append (log4c_appender_t *a_appender, log4c_logging_event_t *a_event)
LOG4C_API int log4c_appender_close (log4c_appender_t *a_appender)
LOG4C_API void log4c_appender_print (const log4c_appender_t *a_appender, FILE *a_stream)
LOG4C_API void log4c_appender_types_print (FILE *fp)
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.
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()
log4c appender type class Attributes description:
name appender type name
open
append
close
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 ?
Parameters:
a_appender the log4c_appender_t object
Returns:
zero if successful, -1 otherwise
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.
a_appender the log4c_appender_t object
Returns:
the appender layout
a_appender the log4c_appender_t object
Returns:
the appender name
a_appender the log4c_appender_t object
Returns:
the appender operations
a_appender the log4c_appender_t object
Returns:
the appender user data
Parameters:
a_appender the log4c_appender_t object
Parameters:
a_appender the log4c_appender_t object
a_stream the stream
Parameters:
a_appender the log4c_appender_t object
a_layout the new appender layout
Returns:
the previous appender layout
Parameters:
a_appender the log4c_appender_t object
a_type the new appender type
Returns:
the previous appender type
Parameters:
a_appender the log4c_appender_t object
a_udata the new appender user data
Returns:
the previous appender user data
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.
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);
Parameters:
fp the stream
Generated automatically by Doxygen for log4c from the source code.