SYNOPSIS

#include <stdio.h>

#include <stdarg.h>

#include <log4c/defs.h>

#include <log4c/priority.h>

#include <log4c/location_info.h>

Defines

#define log4c_category_define(a_category, a_name)

Typedefs

typedef struct __log4c_category log4c_category_t

Functions

LOG4C_API log4c_category_t * log4c_category_get (const char *a_name)

LOG4C_API int log4c_category_list (log4c_category_t **a_cats, int a_ncats)

LOG4C_API log4c_category_t * log4c_category_new (const char *a_name)

LOG4C_API void log4c_category_delete (log4c_category_t *a_category)

LOG4C_API const char * log4c_category_get_name (const log4c_category_t *a_category)

LOG4C_API struct __log4c_appender * log4c_category_get_appender (const log4c_category_t *a_category)

LOG4C_API int log4c_category_get_additivity (const log4c_category_t *a_category)

LOG4C_API int log4c_category_get_priority (const log4c_category_t *a_category)

LOG4C_API int log4c_category_get_chainedpriority (const log4c_category_t *a_category)

LOG4C_API struct __log4c_appender * log4c_category_set_appender (log4c_category_t *a_category, struct __log4c_appender *a_appender)

LOG4C_API int log4c_category_set_priority (log4c_category_t *a_category, int a_priority)

LOG4C_API int log4c_category_set_additivity (log4c_category_t *a_category, int a_additivity)

LOG4C_API void log4c_category_print (const log4c_category_t *a_category, FILE *a_stream)

static int log4c_category_is_priority_enabled (const log4c_category_t *a_category, int a_priority)

static int log4c_category_is_fatal_enabled (const log4c_category_t *a_category)

static int log4c_category_is_alert_enabled (const log4c_category_t *a_category)

static int log4c_category_is_crit_enabled (const log4c_category_t *a_category)

static int log4c_category_is_error_enabled (const log4c_category_t *a_category)

static int log4c_category_is_warn_enabled (const log4c_category_t *a_category)

static int log4c_category_is_notice_enabled (const log4c_category_t *a_category)

static int log4c_category_is_info_enabled (const log4c_category_t *a_category)

static int log4c_category_is_debug_enabled (const log4c_category_t *a_category)

static int log4c_category_is_trace_enabled (const log4c_category_t *a_category)

static LOG4C_INLINE void log4c_category_log (const log4c_category_t *a_category, int a_priority, const char *a_format,...)

static LOG4C_INLINE void log4c_category_log_locinfo (const log4c_category_t *a_category, const log4c_location_info_t *a_locinfo, int a_priority, const char *a_format,...)

static LOG4C_INLINE void log4c_category_fatal (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_alert (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_crit (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_error (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_warn (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_notice (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_info (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void log4c_category_debug (const log4c_category_t *a_category, const char *a_format,...)

static LOG4C_INLINE void __log4c_category_trace (const log4c_category_t *a_category, const char *a_format,...)

Detailed Description

central class in the log4c package.

One of the distintive features of log4j (and hence log4c) are hierarchical categories and their evaluation.

Define Documentation

#define log4c_category_define(a_category, a_name) Helper macro to define static categories.

Parameters:

a_category the log4c_category_t pointer name

a_name the category name

Typedef Documentation

typedef struct __log4c_category \fBlog4c_category_t\fP log4c category class

Function Documentation

static LOG4C_INLINE void __log4c_category_trace (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with trace priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_TRACE.

static LOG4C_INLINE void log4c_category_alert (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with alert priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_ALERT.

static LOG4C_INLINE void log4c_category_crit (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with crit priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_CRIT.

static LOG4C_INLINE void log4c_category_debug (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with debug priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_DEBUG.

LOG4C_API void log4c_category_delete (\fBlog4c_category_t\fP *a_category) Destructor for a log4c_category_t.

Parameters:

a_category the log4c_category_t object

static LOG4C_INLINE void log4c_category_error (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with error priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_ERROR.

static LOG4C_INLINE void log4c_category_fatal (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with fatal priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_FATAL.

LOG4C_API \fBlog4c_category_t\fP* log4c_category_get (const char *a_name) Instantiate a log4c_category_t with name \fIname\fP. This method does not set priority of the category which is by default \fCLOG4C_PRIORITY_NOTSET\fP.

Parameters:

a_name The name of the category to retrieve.

Bug

the root category name should be '' not 'root'. *

LOG4C_API int log4c_category_get_additivity (const \fBlog4c_category_t\fP *a_category) Get the additivity flag for this log4c_category_t..

Parameters:

a_category the log4c_category_t object

Returns:

the category additivity

LOG4C_API struct __log4c_appender* log4c_category_get_appender (const \fBlog4c_category_t\fP *a_category)\fC [read]\fP Returns the Appender for this log4c_category_t, or NULL if no Appender has been set.

Parameters:

a_category the log4c_category_t object

Returns:

The Appender.

LOG4C_API int log4c_category_get_chainedpriority (const \fBlog4c_category_t\fP *a_category) Starting from this category, search the category hierarchy for a set priority and return it. Otherwise, return the priority of the root category.

Parameters:

a_category the log4c_category_t object

Todo

the log4c_category_t is designed so that this method executes as quickly as possible. It could even be faster if the set priority was propagated through the children hierarchy of a category.

References LOG4C_PRIORITY_NOTSET, and LOG4C_PRIORITY_UNKNOWN.

LOG4C_API const char* log4c_category_get_name (const \fBlog4c_category_t\fP *a_category) Return the category name.

Parameters:

a_category the log4c_category_t object

Returns:

the category name.

LOG4C_API int log4c_category_get_priority (const \fBlog4c_category_t\fP *a_category) Returns the assigned Priority, if any, for this log4c_category_t.

Parameters:

a_category the log4c_category_t object

Returns:

Priority - the assigned Priority, can be LOG4C_PRIORITY_NOTSET

References LOG4C_PRIORITY_UNKNOWN.

static LOG4C_INLINE void log4c_category_info (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with info priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_INFO.

static int log4c_category_is_alert_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_ALERT\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_ALERT.

static int log4c_category_is_crit_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_CRIT\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_CRIT.

static int log4c_category_is_debug_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_DEBUG\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_DEBUG.

static int log4c_category_is_error_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_ERROR\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_ERROR.

static int log4c_category_is_fatal_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_FATAL\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_FATAL.

static int log4c_category_is_info_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_INFO\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_INFO.

static int log4c_category_is_notice_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_NOTICE\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_NOTICE.

static int log4c_category_is_priority_enabled (const \fBlog4c_category_t\fP *a_category, inta_priority)\fC [inline, static]\fP Returns true if the chained priority of the log4c_category_t is equal to or higher than given priority.

Parameters:

a_category the log4c_category_t object

a_priority The priority to compare with.

Returns:

whether logging is enable for this priority.

static int log4c_category_is_trace_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_TRACE\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_TRACE.

static int log4c_category_is_warn_enabled (const \fBlog4c_category_t\fP *a_category)\fC [inline, static]\fP Return true if the category will log messages with priority \fCLOG4C_PRIORITY_WARN\fP.

Parameters:

a_category the log4c_category_t object

Returns:

Whether the category will log.

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_WARN.

LOG4C_API int log4c_category_list (\fBlog4c_category_t\fP **a_cats, inta_ncats) Fill in an array with the log4c categories.

Parameters:

a_cats array of categories that will be filled

a_ncats number of categories in the array

Returns:

-1 if it fails or the number of available categories in log4c.

static LOG4C_INLINE void log4c_category_log (const \fBlog4c_category_t\fP *a_category, inta_priority, const char *a_format, ...)\fC [static]\fP Log a message with the specified priority.

Parameters:

a_category the log4c_category_t object

a_priority The priority of this log message.

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled().

static LOG4C_INLINE void log4c_category_log_locinfo (const \fBlog4c_category_t\fP *a_category, const \fBlog4c_location_info_t\fP *a_locinfo, inta_priority, const char *a_format, ...)\fC [static]\fP Log a message with the specified priority and a user location info.

Parameters:

a_category the log4c_category_t object

a_locinfo a user location info

a_priority The priority of this log message.

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled().

LOG4C_API \fBlog4c_category_t\fP* log4c_category_new (const char *a_name) Constructor for a log4c_category_t.

Parameters:

a_name the category name

Returns:

a log4c_category object

Warning:

this method should not be called directly. You should use the log4c_category_get() method in order to preserve the categories hierarchy.

References LOG4C_PRIORITY_NOTSET.

static LOG4C_INLINE void log4c_category_notice (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with notice priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_NOTICE.

LOG4C_API void log4c_category_print (const \fBlog4c_category_t\fP *a_category, FILE *a_stream) prints the log4c_category_t object on a stream

Parameters:

a_category the log4c_category_t object

a_stream The stream

LOG4C_API int log4c_category_set_additivity (\fBlog4c_category_t\fP *a_category, inta_additivity) Sets a new additivity flag for this category.

Parameters:

a_category the log4c_category_t object

a_additivity the new category additivity

Returns:

the previous category additivity

LOG4C_API struct __log4c_appender* log4c_category_set_appender (\fBlog4c_category_t\fP *this, \fBlog4c_appender_t\fP *a_appender)\fC [read]\fP Sets a new appender for this category.

Parameters:

a_category the log4c_category_t object

a_appender the new category appender

Returns:

the previous category appender

Todo

need multiple appenders per category

LOG4C_API int log4c_category_set_priority (\fBlog4c_category_t\fP *a_category, inta_priority) Sets a new priority of this category.

Parameters:

a_category the log4c_category_t object

a_priority the new priority to set. Use LOG4C_PRIORITY_NOTSET to let the category use its parents priority as effective priority.

Returns:

the previous category priority

References LOG4C_PRIORITY_UNKNOWN.

static LOG4C_INLINE void log4c_category_warn (const \fBlog4c_category_t\fP *a_category, const char *a_format, ...)\fC [static]\fP Log a message with warn priority.

Parameters:

a_category the log4c_category_t object

a_format Format specifier for the string to write in the log file.

... The arguments for a_format

References log4c_category_is_priority_enabled(), and LOG4C_PRIORITY_WARN.

Author

Generated automatically by Doxygen for log4c from the source code.