log4c_layout.h - Man Page
Interface for user specific layout format of log4c_logging_event events.
Synopsis
#include <log4c/defs.h>
#include <log4c/logging_event.h>
#include <stdio.h>
Data Structures
struct log4c_layout_type
log4c layout type class
Macros
#define log4c_layout_type_define(a_type)
Typedefs
typedef struct __log4c_layout log4c_layout_t
typedef struct log4c_layout_type log4c_layout_type_t
log4c layout type class
Functions
const log4c_layout_type_t * log4c_layout_type_get (const char *a_name)
const log4c_layout_type_t * log4c_layout_type_set (const log4c_layout_type_t *a_type)
log4c_layout_t * log4c_layout_get (const char *a_name)
log4c_layout_t * log4c_layout_new (const char *a_name)
void log4c_layout_delete (log4c_layout_t *a_layout)
const char * log4c_layout_get_name (const log4c_layout_t *a_layout)
const log4c_layout_type_t * log4c_layout_get_type (const log4c_layout_t *a_layout)
const log4c_layout_type_t * log4c_layout_set_type (log4c_layout_t *a_layout, const log4c_layout_type_t *a_type)
void * log4c_layout_get_udata (const log4c_layout_t *a_layout)
void * log4c_layout_set_udata (log4c_layout_t *a_layout, void *a_udata)
const char * log4c_layout_format (const log4c_layout_t *a_layout, const log4c_logging_event_t *a_event)
void log4c_layout_print (const log4c_layout_t *a_layout, FILE *a_stream)
void log4c_layout_types_free (void)
void log4c_layout_types_print (FILE *fp)
Detailed Description
Interface for user specific layout format of log4c_logging_event events.
- Todo
the layout interface needs a better configuration system depending on the layout type. The udata field is a just a trick.
- Todo
a pattern layout would be welcomed !!
Macro Definition Documentation
#define log4c_layout_type_define( a_type)
Helper macro to define static layout types.
- Parameters
a_type the log4c_layout_type_t object to define
- Warning
needs GCC support: otherwise this macro does nothing
- Deprecated
This macro, and the static initialialization of layouts in general, is deprecated. Use rather the log4c_layout_type_set() function to initialize your appenders before calling log4c_init()
Typedef Documentation
typedef struct __log4c_layout log4c_layout_t
log4c layout class
typedef struct log4c_layout_type log4c_layout_type_t
log4c layout type class Attributes description:
- name layout type name
- format
Function Documentation
void log4c_layout_delete (log4c_layout_t * a_layout)
Destructor for layout.
const char * log4c_layout_format (const log4c_layout_t * a_layout, const log4c_logging_event_t * a_event)
format a log4c_logging_event events to a string.
- Parameters
a_layout the log4c_layout_t object
a_event a logging_event_t object- Returns
an appendable string.
log4c_layout_t * log4c_layout_get (const char * a_name)
Get a pointer to an existing layout.
- Parameters
a_name the name of the layout to return.
- Returns
a pointer to an existing layout, or NULL if no layout with the specfied name exists.
const char * log4c_layout_get_name (const log4c_layout_t * a_layout)
- Parameters
a_layout the log4c_layout_t object
- Returns
the layout name
const log4c_layout_type_t * log4c_layout_get_type (const log4c_layout_t * a_layout)
- Parameters
a_layout the log4c_layout_t object
- Returns
a log4c_layout_type_t object
void * log4c_layout_get_udata (const log4c_layout_t * a_layout)
- Parameters
a_layout the log4c_layout_t object
- Returns
the layout user data
log4c_layout_t * log4c_layout_new (const char * a_name)
Constructor for layout.
void log4c_layout_print (const log4c_layout_t * a_layout, FILE * a_stream)
prints the layout on a stream
- Parameters
a_layout the log4c_layout_t object
a_stream the stream
const log4c_layout_type_t * log4c_layout_set_type (log4c_layout_t * a_layout, const log4c_layout_type_t * a_type)
sets the layout type
- Parameters
a_layout the log4c_layout_t object
a_type the new layout type- Returns
the previous layout type
void * log4c_layout_set_udata (log4c_layout_t * a_layout, void * a_udata)
sets the layout user data
- Parameters
a_layout the log4c_layout_t object
a_udata the new layout user data- Returns
the previous layout user data
const log4c_layout_type_t * log4c_layout_type_get (const char * a_name)
Get a pointer to an existing layout type.
- Parameters
a_name the name of the layout type to return.
- Returns
a pointer to an existing layout type, or NULL if no layout type with the specified name exists.
const log4c_layout_type_t * log4c_layout_type_set (const log4c_layout_type_t * a_type)
Use this function to register a layout type with log4c. Once this is done you may refer to this type by name both programatically and in the log4c configuration file.
- Parameters
a_type a pointer to the new layout type to set.
- Returns
a pointer to the previous layout type of same name.
Example code fragment:
const log4c_layout_type_t log4c_layout_type_xml = { "s13_xml", xml_format, }; log4c_layout_type_set(&log4c_layout_type_xml);
void log4c_layout_types_free (void )
free all layout types
void log4c_layout_types_print (FILE * fp)
prints all the current registered layout types on a stream
- Parameters
fp the stream
Author
Generated automatically by Doxygen for log4c from the source code.
Referenced By
The man pages log4c_layout_delete(3), log4c_layout_format(3), log4c_layout_get(3), log4c_layout_get_name(3), log4c_layout_get_type(3), log4c_layout_get_udata(3), log4c_layout_new(3), log4c_layout_print(3), log4c_layout_set_type(3), log4c_layout_set_udata(3), log4c_layout_t(3), log4c_layout_type_define(3), log4c_layout_type_get(3), log4c_layout_type_set(3), log4c_layout_types_free(3), log4c_layout_types_print(3) and log4c_layout_type_t(3) are aliases of log4c_layout.h(3).