Log4c rolling policy interface. defines the interface for managing and providing rolling policies.
#include <stdio.h>
#include <log4c/defs.h>
#include <log4c/layout.h>
struct log4c_rollingpolicy_type
log4c rollingpolicy type. Defines the interface a specific policy must provide to the rollingfile appender.
#define ROLLINGPOLICY_ROLLOVER_ERR_CAN_LOG 0x05
typedef struct __log4c_rollingpolicy log4c_rollingpolicy_t
typedef struct log4c_rollingpolicy_type log4c_rollingpolicy_type_t
log4c rollingpolicy type. Defines the interface a specific policy must provide to the rollingfile appender.
LOG4C_API log4c_rollingpolicy_t * log4c_rollingpolicy_get (const char *policy_name)
LOG4C_API const log4c_rollingpolicy_type_t * log4c_rollingpolicy_type_set (const log4c_rollingpolicy_type_t *a_type)
LOG4C_API void log4c_rollingpolicy_set_udata (log4c_rollingpolicy_t *policyp, void *udatap)
LOG4C_API int log4c_rollingpolicy_init (log4c_rollingpolicy_t *policyp, rollingfile_udata_t *rfup)
LOG4C_API int log4c_rollingpolicy_fini (log4c_rollingpolicy_t *a_this)
LOG4C_API int log4c_rollingpolicy_is_triggering_event (log4c_rollingpolicy_t *policyp, const log4c_logging_event_t *evtp, long current_file_size)
LOG4C_API const log4c_rollingpolicy_type_t * log4c_rollingpolicy_set_type (log4c_rollingpolicy_t *a_rollingpolicy, const log4c_rollingpolicy_type_t *a_type)
LOG4C_API const log4c_rollingpolicy_type_t * log4c_rollingpolicy_type_get (const char *a_name)
LOG4C_API void * log4c_rollingpolicy_get_udata (const log4c_rollingpolicy_t *policyp)
LOG4C_API rollingfile_udata_t * log4c_rollingpolicy_get_rfudata (const log4c_rollingpolicy_t *policyp)
Log4c rolling policy interface. Defines the interface for managing and providing rolling policies.
A rolling policy is used to confogure a rollingfile appender to tell it when to trigger a rolover event.
Parameters:
policyp pointer to the rolling policy
fp filestream to rollover.
Returns:
zero if successful, non-zero otherwise. The policy can return an indication that something went wrong but that the rollingfile appender can stull go ahead and log by returning an error code <= ROLLINGPOLICY_ROLLOVER_ERR_CAN_LOG. Anything greater than means that the rolling file appender will not try to log it's message.
log4c rollingpolicy type. Defines the interface a specific policy must provide to the rollingfile appender. Attributes description:
name rollingpolicy type name
init() init the rollingpolicy
is_triggering_event()
rollover()
Parameters:
policyp pointer to the rolling policy
Returns:
zero if successful, non-zero otherwise.
Parameters:
policy_name a name for the policy
Returns:
a new rolling policy, otherwise NULL.
Parameters:
policyp pointer to the rolling policy
Returns:
pointer to the rolling file appender associated with this policy
Parameters:
policyp pointer to the rolling policy
Returns:
pointer to the rolling policy configuration.
Parameters:
policyp pointer to the rolling policy
app the rolling appender this policy is used with
Returns:
zero if successful, non-zero otherwise.
Parameters:
policyp pointer to the rolling policy
evtp the logging event pointer.
current_file_size the size of the current file being logged to.
Returns:
non-zero if rollover required, zero otherwise.
Parameters:
a_rollingpolicy the log4c_rollingpolicy_t object
a_type the new rollingpolicy type
Returns:
the previous appender type
Parameters:
policyp pointer to the rolling policy
udatap a specific policy type, for example sizewin.
Returns:
zero if successful, non-zero otherwise.
Parameters:
a_name the name of the rollingpolicy type to return.
Returns:
a pointer to an existing rollingpolicy type, or NULL if no rollingpolicy type with the specified name exists.
Parameters:
a_type a pointer to the new rollingpolicy type to register.
Returns:
a pointer to the previous rollingpolicy type of same name.
Example code fragment:
const log4c_rollingpolicy_type_t log4c_rollingpolicy_type_sizewin = { 'sizewin', sizewin_init, sizewin_is_triggering_event, sizewin_rollover }; log4c_rollingpolicy_type_set(&log4c_rollingpolicy_type_sizewin);
Generated automatically by Doxygen for log4c from the source code.