logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

appender_type_stream2.h - Log4c stream2 appender interface.

Author

       Generated automatically by Doxygen for log4c from the source code.

log4c                                             Version 1.2.4                       appender_type_stream2.h(3)

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

intlog4c_stream2_get_flags(log4c_appender_t*a_this)
       Get the flags for this appender.
       Parametersthis a pointer to the appender
       Returns
           the flags for this appender. returns -1 if there was a problem.
   FILE*log4c_stream2_get_fp(log4c_appender_t*a_this)
       Get the file pointer for this appender.
       Parametersthis a pointer to the appender
       Returns
           the file pointer for this appender. If there's a problem returns NULL.
   voidlog4c_stream2_set_flags(log4c_appender_t*a_this,intflags)
       Set the flags for this appender.
       Parametersthis a pointer to the appender
           flags  ar  teh  flags  to  set.  These  will overwrite the existing flags. Currently supported flags:
           LOG4C_STREAM2_UNBUFFERED
   voidlog4c_stream2_set_fp(log4c_appender_t*a_this,FILE*fp)
       Set the file pointer for this appender.
       Parametersthis 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).

Name

       appender_type_stream2.h - Log4c stream2 appender interface.

Synopsis

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

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

   Variables
       __LOG4C_BEGIN_DECLS const log4c_appender_type_tlog4c_appender_type_stream2

Variable Documentation

__LOG4C_BEGIN_DECLSconstlog4c_appender_type_tlog4c_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.

See Also