gwenhywfar 4.0.3
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id$ 00005 begin : Sun Dec 05 2003 00006 copyright : (C) 2003 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00024 * MA 02111-1307 USA * 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 /* #ifndef CH_LOGGER_H */ 00224 00225