layout.h(3) | log4c | layout.h(3) |
NAME¶
layout.h -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
Defines¶
#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¶
LOG4C_API const log4c_layout_type_t * log4c_layout_type_get (const char *a_name)
LOG4C_API const log4c_layout_type_t * log4c_layout_type_set (const log4c_layout_type_t *a_type)
LOG4C_API log4c_layout_t * log4c_layout_get (const char *a_name)
LOG4C_API log4c_layout_t * log4c_layout_new (const char *a_name)
LOG4C_API void log4c_layout_delete (log4c_layout_t *a_layout)
LOG4C_API const char * log4c_layout_get_name (const log4c_layout_t *a_layout)
LOG4C_API const log4c_layout_type_t * log4c_layout_get_type (const log4c_layout_t *a_layout)
LOG4C_API const log4c_layout_type_t * log4c_layout_set_type (log4c_layout_t *a_layout, const log4c_layout_type_t *a_type)
LOG4C_API void * log4c_layout_get_udata (const log4c_layout_t *a_layout)
LOG4C_API void * log4c_layout_set_udata (log4c_layout_t *a_layout, void *a_udata)
LOG4C_API const char * log4c_layout_format (const log4c_layout_t *a_layout, const log4c_logging_event_t *a_event)
LOG4C_API void log4c_layout_print (const log4c_layout_t *a_layout, FILE *a_stream)
LOG4C_API 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 !!
Define 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¶
LOG4C_API void log4c_layout_delete (log4c_layout_t *a_layout) Destructor for layout.¶
LOG4C_API 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
a_event a logging_event_t object
Returns:
an appendable string.
LOG4C_API 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.
LOG4C_API const char* log4c_layout_get_name (const log4c_layout_t *a_layout) Parameters:¶
a_layout the log4c_layout_t object
Returns:
the layout name
LOG4C_API 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
LOG4C_API 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_API log4c_layout_t* log4c_layout_new (const char *a_name) Constructor for layout.¶
LOG4C_API 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
a_stream the stream
LOG4C_API 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
a_type the new layout type
Returns:
the previous layout type
LOG4C_API 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
a_udata the new layout user data
Returns:
the previous layout user data
LOG4C_API 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.
LOG4C_API 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);
LOG4C_API 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.Mon May 2 2011 | Version 1.2.1 |