Man Linux: Main Page and Category List

NAME

       appender_type_stream2.h - Log4c stream2 appender interface.

SYNOPSIS

       #include <log4c/defs.h>
       #include <log4c/appender.h>

   Functions
       LOG4C_API void log4c_stream2_set_fp (log4c_appender_t *a_this, FILE
           *fp)
       LOG4C_API FILE * log4c_stream2_get_fp (log4c_appender_t *a_this)
       LOG4C_API void log4c_stream2_set_flags (log4c_appender_t *a_this, int
           flags)
       LOG4C_API int log4c_stream2_get_flags (log4c_appender_t *a_this)

   Variables
       __LOG4C_BEGIN_DECLS LOG4C_API const log4c_appender_type_t
           log4c_appender_type_stream2

Detailed Description

       Log4c stream2 appender interface.

       The stream2 appender uses a file handle FILE* for logging. It can be
       used with stdout, stderr or a normal file. It is pretty primitive as it
       does not do file rotation, or have a maximum configurable file size
       etc. It improves on the stream appender in a few ways that make it a
       better starting point for new stream based appenders.

       It enhances the stream appender by allowing the default file pointer to
       be used in buffered or unbuffered mode. Also when you set the file
       pointer stream2 will not attempt to close it on exit which avoids it
       fighting with the owner of the file pointer. stream2 is configured via
       setter functions--the udata is not exposed directly. This means that
       new options (eg. configure the open mode ) could be added to stream2
       while maintaining backward compatability.

       The appender can be used with default values, for example as follows:

        log4c_appender_t* myappender;

        myappender = log4c_appender_get(’/var/logs/mylog.log’);
        log4c_appender_set_type(myappender,log4c_appender_type_get(’stream2’));

       In this case the appender will be configured automatically with default
       values:

       · the filename is the same as the name of the appender,
         ’/var/logs/mymlog.log’
       · the file is opened in ’w+’ mode
       · the default system buffer is used (cf; setbuf() ) in buffered mode
       The stream2 appender can be configured by passing it a file pointer to
       use. In this case you manage the file pointer yourself--open, option
       setting, closing. If you set the file pointer log4c will not close the
       file on exiting--you must do this:
        log4c_appender_t* myappender;
        FILE * fp = fopen(’myfile.log’, ’w’);

        myappender = log4c_appender_get(’myappender’);
        log4c_appender_set_type(myappender, log4c_appender_type_get(’stream2’));
        log4c_stream2_set_fp(stream2_appender,myfp);
       The default file pointer can be configured to use unbuffered mode.
       Buffered mode is typically 25-50% faster than unbuffered mode but
       unbuffered mode is useful if your preference is for a more synchronized
       log file:
        log4c_appender_t* myappender;

        myappender = log4c_appender_get(’/var/logs/mylog.log’);
        log4c_appender_set_type(myappender,log4c_appender_type_get(’stream2’));
        log4c_stream2_set_flags(myappender, LOG4C_STREAM2_UNBUFFERED);

Function Documentation

   LOG4C_API int log4c_stream2_get_flags (log4c_appender_t * a_this)
       Get the flags for this appender.
       Parameters:
           this a pointer to the appender
       Returns:
           the flags for this appender. returns -1 if there was a problem.

   LOG4C_API FILE* log4c_stream2_get_fp (log4c_appender_t * a_this)
       Get the file pointer for this appender.
       Parameters:
           this a pointer to the appender
       Returns:
           the file pointer for this appender. If there’s a problem returns
           NULL.

   LOG4C_API void log4c_stream2_set_flags (log4c_appender_t * a_this, int
       flags)
       Set the flags for this appender.
       Parameters:
           this a pointer to the appender
           flags ar teh flags to set. These will overwrite the existing flags.
           Currently supported flags: LOG4C_STREAM2_UNBUFFERED

   LOG4C_API void log4c_stream2_set_fp (log4c_appender_t * a_this, FILE * fp)
       Set the file pointer for this appender.
       Parameters:
           this a pointer to the appender
           fp the file pointer this appender will use. The caller is
           responsible for managing the file pointer (open, option setting,
           closing).

Variable Documentation

   __LOG4C_BEGIN_DECLS LOG4C_API const log4c_appender_type_t
       log4c_appender_type_stream2
       Stream2 appender type definition.
       This should be used as a parameter to the log4c_appender_set_type()
       routine to set the type of the appender.

Author

       Generated automatically by Doxygen for log4c from the source code.