Log4gWriterAppender

Log4gWriterAppender — Append to a stdio(3) stream.

Synopsis

                    Log4gWriterAppender;
                    Log4gWriterAppenderClass;
gboolean            log4g_writer_appender_check_entry_conditions
                                                        (Log4gAppender *base);
void                log4g_writer_appender_close_writer  (Log4gAppender *base);
Log4gQuietWriter *  log4g_writer_appender_get_quiet_writer
                                                        (Log4gAppender *base);
void                log4g_writer_appender_reset         (Log4gAppender *base);
void                log4g_writer_appender_set_quiet_writer
                                                        (Log4gAppender *base,
                                                         Log4gQuietWriter *writer);
void                log4g_writer_appender_set_writer    (Log4gAppender *base,
                                                         FILE *file);
void                log4g_writer_appender_sub_append    (Log4gAppender *base,
                                                         Log4gLoggingEvent *event);
void                log4g_writer_appender_write_footer  (Log4gAppender *base);
void                log4g_writer_appender_write_header  (Log4gAppender *base);
void                (*Log4gWriterAppenderCloseWriter)   (Log4gAppender *base);
void                (*Log4gWriterAppenderReset)         (Log4gAppender *base);
void                (*Log4gWriterAppenderSubAppend)     (Log4gAppender *base,
                                                         Log4gLoggingEvent *event);

Description

This class is a base class for appenders that write to stdio(3) streams.

Writer appenders accept one property:

  1. immediate-flush

The value of immediate-flush determines if the I/O stream will be flushed after each write. The default value is TRUE.

Details

Log4gWriterAppender

typedef struct {
} Log4gWriterAppender;

Log4gWriterAppenderClass

typedef struct {
    Log4gWriterAppenderSubAppend sub_append;
    Log4gWriterAppenderCloseWriter close_writer;
    Log4gWriterAppenderReset reset;
} Log4gWriterAppenderClass;

Log4gWriterAppenderSubAppend sub_append;

Actual writing occurs here.

Log4gWriterAppenderCloseWriter close_writer;

Close the underlying stream.

Log4gWriterAppenderReset reset;

Clear internal references and variables.

log4g_writer_appender_check_entry_conditions ()

gboolean            log4g_writer_appender_check_entry_conditions
                                                        (Log4gAppender *base);

Determine if it is OK to append.

Checks the following conditions:

  • The output target is set

  • The layout is set

base :

A writer appender object.

Returns :

TRUE if all entry conditions pass, FALSE otherwise.

Since 0.1


log4g_writer_appender_close_writer ()

void                log4g_writer_appender_close_writer  (Log4gAppender *base);

Calls the close_writer function from the Log4gWriterAppender of self.

base :

A writer appender object.

Since 0.1


log4g_writer_appender_get_quiet_writer ()

Log4gQuietWriter *  log4g_writer_appender_get_quiet_writer
                                                        (Log4gAppender *base);

Retrieve the current quiet writer object.

See: Log4gQuietWriterClass

base :

A writer appender object.

Returns :

The current quiet writer object used by base.

Since 0.1


log4g_writer_appender_reset ()

void                log4g_writer_appender_reset         (Log4gAppender *base);

Calls the reset function from the Log4gWriterAppender of self.

base :

A writer appender object.

Since 0.1


log4g_writer_appender_set_quiet_writer ()

void                log4g_writer_appender_set_quiet_writer
                                                        (Log4gAppender *base,
                                                         Log4gQuietWriter *writer);

Set the quiet writer to use.

See: Log4gQuietWriterClass

base :

A writer appender object.

writer :

A quiet writer.

Since 0.1


log4g_writer_appender_set_writer ()

void                log4g_writer_appender_set_writer    (Log4gAppender *base,
                                                         FILE *file);

Set the stdio(3) stream to use.

See: stdio(3)

base :

A writer appender object.

file :

An open stdio(3) stream.

Since 0.1


log4g_writer_appender_sub_append ()

void                log4g_writer_appender_sub_append    (Log4gAppender *base,
                                                         Log4gLoggingEvent *event);

Calls the sub_append function from the Log4gWriterAppender of self.

base :

A writer appender object.

event :

The log event to append.

Since 0.1


log4g_writer_appender_write_footer ()

void                log4g_writer_appender_write_footer  (Log4gAppender *base);

Write the layout footer.

base :

A writer appender object.

Since 0.1


log4g_writer_appender_write_header ()

void                log4g_writer_appender_write_header  (Log4gAppender *base);

Write the layout header.

base :

A writer appender object.

Since 0.1


Log4gWriterAppenderCloseWriter ()

void                (*Log4gWriterAppenderCloseWriter)   (Log4gAppender *base);

Close the underlying stdio(3) stream.

base :

A writer appender object.

Since 0.1


Log4gWriterAppenderReset ()

void                (*Log4gWriterAppenderReset)         (Log4gAppender *base);

Clear internal references to the writer and other variables.

Subclasses can override this method for alternate closing behavior.

base :

A writer appender object.

Since 0.1


Log4gWriterAppenderSubAppend ()

void                (*Log4gWriterAppenderSubAppend)     (Log4gAppender *base,
                                                         Log4gLoggingEvent *event);

Actual writing occurs here.

Most subclasses of writer appender will need to override this method.

base :

A writer appender object.

event :

The log event to append.

Since 0.1

See Also

stdio(3)