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 void GWENHYWFAR_CB (*GWEN_LOGGERFUNCTIONLOG)(const char *s);
00040
00041 typedef enum {
00042 GWEN_LoggerType_Console,
00043 GWEN_LoggerType_File,
00044 GWEN_LoggerType_Syslog,
00045 GWEN_LoggerType_Function,
00046
00047 GWEN_LoggerType_Unknown=9999
00048 } GWEN_LOGGER_LOGTYPE;
00049
00050
00051 typedef enum {
00052 GWEN_LoggerFacility_Auth=0,
00053 GWEN_LoggerFacility_Daemon,
00054 GWEN_LoggerFacility_Mail,
00055 GWEN_LoggerFacility_News,
00056 GWEN_LoggerFacility_User,
00057
00058 GWEN_LoggerFacility_Unknown=9999
00059 } GWEN_LOGGER_FACILITY;
00060
00061
00062 typedef enum {
00063 GWEN_LoggerLevel_Emergency=0,
00064 GWEN_LoggerLevel_Alert,
00065 GWEN_LoggerLevel_Critical,
00066 GWEN_LoggerLevel_Error,
00067 GWEN_LoggerLevel_Warning,
00068 GWEN_LoggerLevel_Notice,
00069 GWEN_LoggerLevel_Info,
00070 GWEN_LoggerLevel_Debug,
00071 GWEN_LoggerLevel_Verbous,
00072
00073 GWEN_LoggerLevel_Unknown=9999
00074 } GWEN_LOGGER_LEVEL;
00075
00076
00077
00078
00083 GWENHYWFAR_API int GWEN_Logger_Exists(const char *logDomain);
00084
00085
00097 GWENHYWFAR_API int GWEN_Logger_Open(const char *logDomain,
00098 const char *ident,
00099 const char *file,
00100 GWEN_LOGGER_LOGTYPE logtype,
00101 GWEN_LOGGER_FACILITY facility);
00102
00107 GWENHYWFAR_API void GWEN_Logger_Close(const char *logDomain);
00108
00112 GWENHYWFAR_API int GWEN_Logger_IsOpen(const char *logDomain);
00113
00114
00122 GWENHYWFAR_API int GWEN_Logger_Log(const char *logDomain,
00123 GWEN_LOGGER_LEVEL priority, const char *s);
00124
00130 GWENHYWFAR_API void GWEN_Logger_Enable(const char *logDomain,
00131 int f);
00132
00138 GWENHYWFAR_API int GWEN_Logger_IsEnabled(const char *logDomain);
00139
00146 GWENHYWFAR_API void GWEN_Logger_SetLevel(const char *logDomain,
00147 GWEN_LOGGER_LEVEL l);
00148
00153 GWENHYWFAR_API int GWEN_Logger_GetLevel(const char *logDomain);
00154
00155
00161 GWENHYWFAR_API void GWEN_Logger_SetIdent(const char *logDomain,
00162 const char *id);
00163
00167 void GWEN_Logger_SetFilename(const char *logDomain, const char *name);
00168
00169
00175 GWENHYWFAR_API
00176 GWEN_LOGGERFUNCTIONLOG GWEN_Logger_SetLogFunction(const char *logDomain,
00177 GWEN_LOGGERFUNCTIONLOG fn);
00178
00182 GWENHYWFAR_API
00183 GWEN_LOGGER_LEVEL GWEN_Logger_Name2Level(const char *name);
00184
00185
00190 GWENHYWFAR_API
00191 const char *GWEN_Logger_Level2Name(GWEN_LOGGER_LEVEL level);
00192
00193
00197 GWENHYWFAR_API
00198 GWEN_LOGGER_LOGTYPE GWEN_Logger_Name2Logtype(const char *name);
00199
00203 GWENHYWFAR_API
00204 const char *GWEN_Logger_Logtype2Name(GWEN_LOGGER_LOGTYPE lt);
00205
00206
00207
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212
00213 #endif
00214
00215