log4c 1.2.4
appender.h
Go to the documentation of this file.
1/* $Id: appender.h,v 1.8 2013/04/06 13:04:53 valtri Exp $
2 *
3 * appender.h
4 *
5 * Copyright 2001-2003, Meiosys (www.meiosys.com). All rights reserved.
6 *
7 * See the COPYING file for the terms of usage and distribution.
8 */
9
10#ifndef log4c_appender_h
11#define log4c_appender_h
12
23#include <log4c/defs.h>
24#include <log4c/layout.h>
25#include <stdio.h>
26
27__LOG4C_BEGIN_DECLS
28
29struct __log4c_appender;
30
34typedef struct __log4c_appender log4c_appender_t;
35
46typedef struct log4c_appender_type {
47 const char* name;
48 int (*open) (log4c_appender_t*);
49 int (*append) (log4c_appender_t*, const log4c_logging_event_t*);
50 int (*close) (log4c_appender_t*);
52
60LOG4C_API const log4c_appender_type_t* log4c_appender_type_get(const char* a_name);
61
85 const log4c_appender_type_t* a_type);
86
94LOG4C_API log4c_appender_t* log4c_appender_get(const char* a_name);
95
99LOG4C_API log4c_appender_t* log4c_appender_new(const char* a_name);
100
104LOG4C_API void log4c_appender_delete(log4c_appender_t* a_appender);
105
110LOG4C_API const char* log4c_appender_get_name(const log4c_appender_t* a_appender);
111
117 const log4c_appender_t* a_appender);
118
124 const log4c_appender_t* a_appender);
125
130LOG4C_API void* log4c_appender_get_udata(const log4c_appender_t* a_appender);
131
140 log4c_appender_t* a_appender,
141 const log4c_appender_type_t* a_type);
142
150LOG4C_API void* log4c_appender_set_udata(log4c_appender_t* a_appender,
151 void* a_udata);
152
161 log4c_appender_t* a_appender,
162 const log4c_layout_t* a_layout);
163
169LOG4C_API int log4c_appender_open(log4c_appender_t* a_appender);
170
177LOG4C_API int log4c_appender_append(
178 log4c_appender_t* a_appender,
179 log4c_logging_event_t* a_event);
180
187LOG4C_API int log4c_appender_close(log4c_appender_t* a_appender);
188
195LOG4C_API void log4c_appender_print(const log4c_appender_t* a_appender,
196 FILE* a_stream);
200LOG4C_API void log4c_appender_types_free(void);
201
207LOG4C_API void log4c_appender_types_print(FILE *fp);
208
220#ifdef __GNUC__
221# define log4c_appender_type_define(a_type) \
222 typedef int log4c_appender_type_define_##a_type __attribute__((deprecated)); \
223 static log4c_appender_type_define_##a_type __unsused_var __attribute__ ((unused));
224#else
225# define log4c_appender_type_define(a_type)
226#endif
227
231struct __sd_factory;
232LOG4C_API struct __sd_factory* log4c_appender_factory;
233
234__LOG4C_END_DECLS
235
236#endif
const log4c_appender_type_t * log4c_appender_type_get(const char *a_name)
Definition appender.c:67
int log4c_appender_close(log4c_appender_t *a_appender)
Definition appender.c:281
const log4c_layout_t * log4c_appender_get_layout(const log4c_appender_t *a_appender)
Definition appender.c:170
const char * log4c_appender_get_name(const log4c_appender_t *a_appender)
Definition appender.c:157
void * log4c_appender_get_udata(const log4c_appender_t *a_appender)
Definition appender.c:176
void log4c_appender_types_free(void)
Definition appender.c:45
void * log4c_appender_set_udata(log4c_appender_t *a_appender, void *a_udata)
Definition appender.c:212
const log4c_appender_type_t * log4c_appender_type_set(const log4c_appender_type_t *a_type)
Definition appender.c:81
const log4c_layout_t * log4c_appender_set_layout(log4c_appender_t *a_appender, const log4c_layout_t *a_layout)
Definition appender.c:197
void log4c_appender_delete(log4c_appender_t *a_appender)
Definition appender.c:138
const log4c_appender_type_t * log4c_appender_get_type(const log4c_appender_t *a_appender)
Definition appender.c:163
log4c_appender_t * log4c_appender_new(const char *a_name)
Definition appender.c:121
const log4c_appender_type_t * log4c_appender_set_type(log4c_appender_t *a_appender, const log4c_appender_type_t *a_type)
Definition appender.c:182
log4c_appender_t * log4c_appender_get(const char *a_name)
Definition appender.c:100
struct __log4c_appender log4c_appender_t
Definition appender.h:34
void log4c_appender_types_print(FILE *fp)
Definition appender.c:52
void log4c_appender_print(const log4c_appender_t *a_appender, FILE *a_stream)
Definition appender.c:303
int log4c_appender_append(log4c_appender_t *a_appender, log4c_logging_event_t *a_event)
Definition appender.c:256
int log4c_appender_open(log4c_appender_t *a_appender)
Definition appender.c:225
struct log4c_appender_type log4c_appender_type_t
log4c appender type class
Interface for user specific layout format of log4c_logging_event events.
struct __log4c_layout log4c_layout_t
Definition layout.h:36
log4c appender type class
Definition appender.h:46
logging event object
Definition logging_event.h:50