gwenhywfar  5.11.1beta
logger.h
Go to the documentation of this file.
1 /***************************************************************************
2  $RCSfile$
3  -------------------
4  cvs : $Id$
5  begin : Sun Dec 05 2003
6  copyright : (C) 2003 by Martin Preuss
7  email : martin@libchipcard.de
8 
9  ***************************************************************************
10  * *
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24  * MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 #ifndef GWEN_LOGGER_H
29 #define GWEN_LOGGER_H
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #define GWEN_LOGDOMAIN "gwenhywfar"
36 
38 #include <gwenhywfar/buffer.h>
39 
40 
41 typedef void GWENHYWFAR_CB(*GWEN_LOGGERFUNCTIONLOG)(const char *s);
42 
43 typedef enum {
48 
51 
52 
53 typedef enum {
59 
62 
63 
64 typedef enum {
74 
77 
78 
79 
80 
85 GWENHYWFAR_API int GWEN_Logger_Exists(const char *logDomain);
86 
87 
99 GWENHYWFAR_API int GWEN_Logger_Open(const char *logDomain,
100  const char *ident,
101  const char *file,
102  GWEN_LOGGER_LOGTYPE logtype,
103  GWEN_LOGGER_FACILITY facility);
104 
109 GWENHYWFAR_API void GWEN_Logger_Close(const char *logDomain);
110 
114 GWENHYWFAR_API int GWEN_Logger_IsOpen(const char *logDomain);
115 
116 
124 GWENHYWFAR_API void GWEN_Logger_Log(const char *logDomain,
125  GWEN_LOGGER_LEVEL priority, const char *s);
126 
132 GWENHYWFAR_API void GWEN_Logger_Enable(const char *logDomain,
133  int f);
134 
140 GWENHYWFAR_API int GWEN_Logger_IsEnabled(const char *logDomain);
141 
148 GWENHYWFAR_API void GWEN_Logger_SetLevel(const char *logDomain,
150 
155 GWENHYWFAR_API int GWEN_Logger_GetLevel(const char *logDomain);
156 
157 
163 GWENHYWFAR_API void GWEN_Logger_SetIdent(const char *logDomain,
164  const char *id);
165 
169 void GWEN_Logger_SetFilename(const char *logDomain, const char *name);
170 
171 
180 
186 
187 
194 
195 
201 
207 
208 
213 int GWEN_Logger_CreateLogMessage(const char *logDomain,
214  GWEN_LOGGER_LEVEL priority, const char *s,
215  GWEN_BUFFER *mbuf);
216 
217 
218 #ifdef __cplusplus
219 }
220 #endif
221 
222 
223 #endif /* #ifndef CH_LOGGER_H */
224 
225 
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:38
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
GWENHYWFAR_API int GWEN_Logger_GetLevel(const char *logDomain)
GWEN_LOGGER_LOGTYPE
Definition: logger.h:43
@ GWEN_LoggerType_File
Definition: logger.h:45
@ GWEN_LoggerType_Console
Definition: logger.h:44
@ GWEN_LoggerType_Syslog
Definition: logger.h:46
@ GWEN_LoggerType_Unknown
Definition: logger.h:49
@ GWEN_LoggerType_Function
Definition: logger.h:47
GWENHYWFAR_API const char * GWEN_Logger_Logtype2Name(GWEN_LOGGER_LOGTYPE lt)
GWENHYWFAR_API void GWEN_Logger_SetLevel(const char *logDomain, GWEN_LOGGER_LEVEL l)
GWENHYWFAR_API int GWEN_Logger_IsOpen(const char *logDomain)
GWEN_LOGGER_FACILITY
Definition: logger.h:53
@ GWEN_LoggerFacility_Mail
Definition: logger.h:56
@ GWEN_LoggerFacility_Unknown
Definition: logger.h:60
@ GWEN_LoggerFacility_News
Definition: logger.h:57
@ GWEN_LoggerFacility_Daemon
Definition: logger.h:55
@ GWEN_LoggerFacility_Auth
Definition: logger.h:54
@ GWEN_LoggerFacility_User
Definition: logger.h:58
GWENHYWFAR_API int GWEN_Logger_CreateLogMessage(const char *logDomain, GWEN_LOGGER_LEVEL priority, const char *s, GWEN_BUFFER *mbuf)
GWENHYWFAR_API void GWEN_Logger_Log(const char *logDomain, GWEN_LOGGER_LEVEL priority, const char *s)
GWENHYWFAR_API int GWEN_Logger_IsEnabled(const char *logDomain)
GWENHYWFAR_API void GWEN_Logger_Close(const char *logDomain)
void GWEN_Logger_SetFilename(const char *logDomain, const char *name)
GWENHYWFAR_API GWEN_LOGGER_LEVEL GWEN_Logger_Name2Level(const char *name)
GWENHYWFAR_API int GWEN_Logger_Exists(const char *logDomain)
GWENHYWFAR_API void GWEN_Logger_SetIdent(const char *logDomain, const char *id)
GWEN_LOGGER_LEVEL
Definition: logger.h:64
@ GWEN_LoggerLevel_Alert
Definition: logger.h:66
@ GWEN_LoggerLevel_Emergency
Definition: logger.h:65
@ GWEN_LoggerLevel_Unknown
Definition: logger.h:75
@ GWEN_LoggerLevel_Warning
Definition: logger.h:69
@ GWEN_LoggerLevel_Notice
Definition: logger.h:70
@ GWEN_LoggerLevel_Debug
Definition: logger.h:72
@ GWEN_LoggerLevel_Critical
Definition: logger.h:67
@ GWEN_LoggerLevel_Verbous
Definition: logger.h:73
@ GWEN_LoggerLevel_Info
Definition: logger.h:71
@ GWEN_LoggerLevel_Error
Definition: logger.h:68
GWENHYWFAR_API int GWEN_Logger_Open(const char *logDomain, const char *ident, const char *file, GWEN_LOGGER_LOGTYPE logtype, GWEN_LOGGER_FACILITY facility)
void GWENHYWFAR_CB(* GWEN_LOGGERFUNCTIONLOG)(const char *s)
Definition: logger.h:41
GWENHYWFAR_API const char * GWEN_Logger_Level2Name(GWEN_LOGGER_LEVEL level)
GWENHYWFAR_API GWEN_LOGGER_LOGTYPE GWEN_Logger_Name2Logtype(const char *name)
GWENHYWFAR_API void GWEN_Logger_Enable(const char *logDomain, int f)
GWENHYWFAR_API GWEN_LOGGERFUNCTIONLOG GWEN_Logger_SetLogFunction(const char *logDomain, GWEN_LOGGERFUNCTIONLOG fn)