log4c 1.2.4
rollingpolicy.h
Go to the documentation of this file.
1
2/*
3 * rollingpolicy.h
4 *
5 * See the COPYING file for the terms of usage and distribution.
6*/
7
8#ifndef log4c_rollingpolicy_h
9#define log4c_rollingpolicy_h
10
21#include <stdio.h>
22#include <log4c/defs.h>
23#include <log4c/layout.h>
24
25__LOG4C_BEGIN_DECLS
26
27struct __log4c_rollingpolicy;
28
32typedef struct __log4c_rollingpolicy log4c_rollingpolicy_t;
33
34
35#define ROLLINGFILE_DEFAULT_LOG_DIR "."
36#define ROLLINGFILE_DEFAULT_LOG_PREFIX "log"
37
38typedef struct __rollingfile_udata rollingfile_udata_t; /* opaque */
39
40
54 const char* name;
55 int (*init)(log4c_rollingpolicy_t *a_this, rollingfile_udata_t* rfudatap );
56 int (*is_triggering_event)( log4c_rollingpolicy_t* a_policy,
58 long current_file_size );
59 int (*rollover)(log4c_rollingpolicy_t* a_policy, FILE **);
60 int (*fini)(log4c_rollingpolicy_t *a_this);
62
69 const char* policy_name);
70
94 const log4c_rollingpolicy_type_t* a_type);
95
103 void *udatap);
111 rollingfile_udata_t* rfup );
112
122LOG4C_API int log4c_rollingpolicy_fini(log4c_rollingpolicy_t *policyp);
123
133 log4c_rollingpolicy_t* policyp,
134 const log4c_logging_event_t* evtp,
135 long current_file_size );
147#define ROLLINGPOLICY_ROLLOVER_ERR_CAN_LOG 0x05
148LOG4C_API int log4c_rollingpolicy_rollover(log4c_rollingpolicy_t* policyp,
149 FILE ** fp);
150
159 log4c_rollingpolicy_t* a_rollingpolicy,
160 const log4c_rollingpolicy_type_t* a_type);
161
170 const char* a_name);
171
177LOG4C_API void* log4c_rollingpolicy_get_udata(
178 const log4c_rollingpolicy_t* policyp);
179
185LOG4C_API rollingfile_udata_t* log4c_rollingpolicy_get_rfudata(
186 const log4c_rollingpolicy_t* policyp);
187
188LOG4C_API void* log4c_rollingpolicy_get_name(const log4c_rollingpolicy_t* a_this);
189
190LOG4C_API log4c_rollingpolicy_t* log4c_rollingpolicy_new(const char* a_name);
191LOG4C_API void log4c_rollingpolicy_delete(log4c_rollingpolicy_t* a_this);
192LOG4C_API void log4c_rollingpolicy_print(const log4c_rollingpolicy_t* a_this,
193FILE* a_stream);
194
195LOG4C_API int log4c_rollingpolicy_is_initialized(log4c_rollingpolicy_t* a_this);
196LOG4C_API void log4c_rollingpolicy_types_free(void);
197LOG4C_API void log4c_rollingpolicy_types_print(FILE *fp);
201struct __sd_factory;
202LOG4C_API struct __sd_factory* log4c_rollingpolicy_factory;
203
204__LOG4C_END_DECLS
205#endif
Interface for user specific layout format of log4c_logging_event events.
struct __log4c_rollingpolicy log4c_rollingpolicy_t
Definition rollingpolicy.h:32
log4c_rollingpolicy_t * log4c_rollingpolicy_get(const char *policy_name)
Definition rollingpolicy.c:65
struct log4c_rollingpolicy_type log4c_rollingpolicy_type_t
log4c rollingpolicy type. Defines the interface a specific policy must provide to the rollingfile app...
void log4c_rollingpolicy_set_udata(log4c_rollingpolicy_t *policyp, void *udatap)
Definition rollingpolicy.c:262
int log4c_rollingpolicy_fini(log4c_rollingpolicy_t *policyp)
Definition rollingpolicy.c:158
int log4c_rollingpolicy_init(log4c_rollingpolicy_t *policyp, rollingfile_udata_t *rfup)
Definition rollingpolicy.c:135
const log4c_rollingpolicy_type_t * log4c_rollingpolicy_type_set(const log4c_rollingpolicy_type_t *a_type)
Definition rollingpolicy.c:232
rollingfile_udata_t * log4c_rollingpolicy_get_rfudata(const log4c_rollingpolicy_t *policyp)
Definition rollingpolicy.c:226
const log4c_rollingpolicy_type_t * log4c_rollingpolicy_set_type(log4c_rollingpolicy_t *a_rollingpolicy, const log4c_rollingpolicy_type_t *a_type)
Definition rollingpolicy.c:269
void * log4c_rollingpolicy_get_udata(const log4c_rollingpolicy_t *policyp)
Definition rollingpolicy.c:216
int log4c_rollingpolicy_is_triggering_event(log4c_rollingpolicy_t *policyp, const log4c_logging_event_t *evtp, long current_file_size)
Definition rollingpolicy.c:187
const log4c_rollingpolicy_type_t * log4c_rollingpolicy_type_get(const char *a_name)
Definition rollingpolicy.c:249
logging event object
Definition logging_event.h:50
log4c rollingpolicy type. Defines the interface a specific policy must provide to the rollingfile app...
Definition rollingpolicy.h:53