00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GWEN_LOGGER_H
00029 #define GWEN_LOGGER_H
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035 #define GWEN_LOGDOMAIN "gwenhywfar"
00036
00037 #include <gwenhywfar/gwenhywfarapi.h>
00038
00039 typedef struct GWEN_LOGGER GWEN_LOGGER;
00040
00041 typedef void (*GWEN_LOGGERFUNCTIONLOG)(const char *s);
00042
00043 typedef enum {
00044 GWEN_LoggerType_Console,
00045 GWEN_LoggerType_File,
00046 GWEN_LoggerType_Syslog,
00047 GWEN_LoggerType_Function,
00048
00049 GWEN_LoggerType_Unknown=9999
00050 } GWEN_LOGGER_LOGTYPE;
00051
00052
00053 typedef enum {
00054 GWEN_LoggerFacility_Auth=0,
00055 GWEN_LoggerFacility_Daemon,
00056 GWEN_LoggerFacility_Mail,
00057 GWEN_LoggerFacility_News,
00058 GWEN_LoggerFacility_User,
00059
00060 GWEN_LoggerFacility_Unknown=9999
00061 } GWEN_LOGGER_FACILITY;
00062
00063
00064 typedef enum {
00065 GWEN_LoggerLevel_Emergency=0,
00066 GWEN_LoggerLevel_Alert,
00067 GWEN_LoggerLevel_Critical,
00068 GWEN_LoggerLevel_Error,
00069 GWEN_LoggerLevel_Warning,
00070 GWEN_LoggerLevel_Notice,
00071 GWEN_LoggerLevel_Info,
00072 GWEN_LoggerLevel_Debug,
00073 GWEN_LoggerLevel_Verbous,
00074
00075 GWEN_LoggerLevel_Unknown=9999
00076 } GWEN_LOGGER_LEVEL;
00077
00078
00079
00080 GWENHYWFAR_API
00081 GWEN_LOGGER *GWEN_Logger_new();
00082
00083 GWENHYWFAR_API
00084 void GWEN_Logger_free(GWEN_LOGGER *lg);
00085
00086 GWENHYWFAR_API
00087 void GWEN_Logger_Attach(GWEN_LOGGER *lg);
00088
00089
00095 GWENHYWFAR_API
00096 void GWEN_Logger_AddLogger(GWEN_LOGGER *oldLogger, GWEN_LOGGER *newLogger);
00097
00098
00104 GWENHYWFAR_API
00105 void GWEN_Logger_SetDefaultLogger(GWEN_LOGGER *lg) DEPRECATED ;
00106
00107
00112 GWENHYWFAR_API int GWEN_Logger_Exists(const char *logDomain);
00113
00114
00126 GWENHYWFAR_API int GWEN_Logger_Open(const char *logDomain,
00127 const char *ident,
00128 const char *file,
00129 GWEN_LOGGER_LOGTYPE logtype,
00130 GWEN_LOGGER_FACILITY facility);
00131
00136 GWENHYWFAR_API void GWEN_Logger_Close(const char *logDomain);
00137
00141 GWENHYWFAR_API int GWEN_Logger_IsOpen(const char *logDomain);
00142
00143
00151 GWENHYWFAR_API int GWEN_Logger_Log(const char *logDomain,
00152 GWEN_LOGGER_LEVEL priority, const char *s);
00153
00159 GWENHYWFAR_API void GWEN_Logger_Enable(const char *logDomain,
00160 int f);
00161
00167 GWENHYWFAR_API int GWEN_Logger_IsEnabled(const char *logDomain);
00168
00175 GWENHYWFAR_API void GWEN_Logger_SetLevel(const char *logDomain,
00176 GWEN_LOGGER_LEVEL l);
00177
00182 GWENHYWFAR_API int GWEN_Logger_GetLevel(const char *logDomain);
00183
00184
00190 GWENHYWFAR_API void GWEN_Logger_SetIdent(const char *logDomain,
00191 const char *id);
00192
00196 void GWEN_Logger_SetFilename(const char *logDomain, const char *name);
00197
00198
00204 GWENHYWFAR_API
00205 GWEN_LOGGERFUNCTIONLOG GWEN_Logger_SetLogFunction(const char *logDomain,
00206 GWEN_LOGGERFUNCTIONLOG fn);
00207
00211 GWENHYWFAR_API
00212 GWEN_LOGGER_LEVEL GWEN_Logger_Name2Level(const char *name);
00213
00214
00219 GWENHYWFAR_API
00220 const char *GWEN_Logger_Level2Name(GWEN_LOGGER_LEVEL level);
00221
00222
00226 GWENHYWFAR_API
00227 GWEN_LOGGER_LOGTYPE GWEN_Logger_Name2Logtype(const char *name);
00228
00232 GWENHYWFAR_API
00233 const char *GWEN_Logger_Logtype2Name(GWEN_LOGGER_LOGTYPE lt);
00234
00235
00236
00237 #ifdef __cplusplus
00238 }
00239 #endif
00240
00241
00242 #endif
00243
00244