Provided by: liblog4c-doc_1.2.4-3.1build1_all bug

NAME

       appender.h - 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.