Go to the documentation of this file.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 #include <gwenhywfar/buffer.h>
00039
00040
00041 typedef void GWENHYWFAR_CB (*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
00085 GWENHYWFAR_API int GWEN_Logger_Exists(const char *logDomain);
00086
00087
00099 GWENHYWFAR_API int GWEN_Logger_Open(const char *logDomain,
00100 const char *ident,
00101 const char *file,
00102 GWEN_LOGGER_LOGTYPE logtype,
00103 GWEN_LOGGER_FACILITY facility);
00104
00109 GWENHYWFAR_API void GWEN_Logger_Close(const char *logDomain);
00110
00114 GWENHYWFAR_API int GWEN_Logger_IsOpen(const char *logDomain);
00115
00116
00124 GWENHYWFAR_API int GWEN_Logger_Log(const char *logDomain,
00125 GWEN_LOGGER_LEVEL priority, const char *s);
00126
00132 GWENHYWFAR_API void GWEN_Logger_Enable(const char *logDomain,
00133 int f);
00134
00140 GWENHYWFAR_API int GWEN_Logger_IsEnabled(const char *logDomain);
00141
00148 GWENHYWFAR_API void GWEN_Logger_SetLevel(const char *logDomain,
00149 GWEN_LOGGER_LEVEL l);
00150
00155 GWENHYWFAR_API int GWEN_Logger_GetLevel(const char *logDomain);
00156
00157
00163 GWENHYWFAR_API void GWEN_Logger_SetIdent(const char *logDomain,
00164 const char *id);
00165
00169 void GWEN_Logger_SetFilename(const char *logDomain, const char *name);
00170
00171
00177 GWENHYWFAR_API
00178 GWEN_LOGGERFUNCTIONLOG GWEN_Logger_SetLogFunction(const char *logDomain,
00179 GWEN_LOGGERFUNCTIONLOG fn);
00180
00184 GWENHYWFAR_API
00185 GWEN_LOGGER_LEVEL GWEN_Logger_Name2Level(const char *name);
00186
00187
00192 GWENHYWFAR_API
00193 const char *GWEN_Logger_Level2Name(GWEN_LOGGER_LEVEL level);
00194
00195
00199 GWENHYWFAR_API
00200 GWEN_LOGGER_LOGTYPE GWEN_Logger_Name2Logtype(const char *name);
00201
00205 GWENHYWFAR_API
00206 const char *GWEN_Logger_Logtype2Name(GWEN_LOGGER_LOGTYPE lt);
00207
00208
00212 GWENHYWFAR_API
00213 int GWEN_Logger_CreateLogMessage(const char *logDomain,
00214 GWEN_LOGGER_LEVEL priority, const char *s,
00215 GWEN_BUFFER *mbuf);
00216
00217
00218 #ifdef __cplusplus
00219 }
00220 #endif
00221
00222
00223 #endif
00224
00225