log4cplus
2.0.0
|
00001 // -*- C -*- 00027 #ifndef LOG4CPLUS_CLOGGERHEADER_ 00028 #define LOG4CPLUS_CLOGGERHEADER_ 00029 00030 #include <log4cplus/config.hxx> 00031 00032 #if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE) 00033 #pragma once 00034 #endif 00035 00036 00037 #ifdef __cplusplus 00038 extern "C" 00039 { 00040 #endif 00041 00042 // TODO UNICDE capable 00043 00044 typedef void * log4cplus_logger_t; 00045 typedef log4cplus_logger_t logger_t; 00046 00047 typedef int log4cplus_loglevel_t; 00048 typedef log4cplus_loglevel_t loglevel_t; 00049 00050 #define L4CP_OFF_LOG_LEVEL 60000 00051 #define L4CP_FATAL_LOG_LEVEL 50000 00052 #define L4CP_ERROR_LOG_LEVEL 40000 00053 #define L4CP_WARN_LOG_LEVEL 30000 00054 #define L4CP_INFO_LOG_LEVEL 20000 00055 #define L4CP_DEBUG_LOG_LEVEL 10000 00056 #define L4CP_TRACE_LOG_LEVEL 0 00057 #define L4CP_ALL_LOG_LEVEL TRACE_LOG_LEVEL 00058 #define L4CP_NOT_SET_LOG_LEVEL -1 00059 00060 #ifdef UNICODE 00061 typedef wchar_t log4cplus_char_t; 00062 #else 00063 typedef char log4cplus_char_t; 00064 #endif // UNICODE 00065 00066 #if ! defined (LOG4CPLUS_TEXT) 00067 #ifdef UNICODE 00068 # define LOG4CPLUS_TEXT2(STRING) L##STRING 00069 #else 00070 # define LOG4CPLUS_TEXT2(STRING) STRING 00071 #endif // UNICODE 00072 #define LOG4CPLUS_TEXT(STRING) LOG4CPLUS_TEXT2(STRING) 00073 #endif // LOG4CPLUS_TEXT 00074 00075 LOG4CPLUS_EXPORT void * log4cplus_initialize(void); 00076 LOG4CPLUS_EXPORT int log4cplus_deinitialize(void * initializer); 00077 00078 LOG4CPLUS_EXPORT int log4cplus_file_configure(const log4cplus_char_t *pathname); 00079 LOG4CPLUS_EXPORT int log4cplus_str_configure(const log4cplus_char_t *config); 00080 LOG4CPLUS_EXPORT int log4cplus_basic_configure(void); 00081 LOG4CPLUS_EXPORT void log4cplus_shutdown(void); 00082 00083 LOG4CPLUS_EXPORT int log4cplus_logger_exists(const log4cplus_char_t *name); 00084 LOG4CPLUS_EXPORT int log4cplus_logger_is_enabled_for( 00085 const log4cplus_char_t *name, log4cplus_loglevel_t ll); 00086 00087 LOG4CPLUS_EXPORT int log4cplus_logger_log(const log4cplus_char_t *name, 00088 log4cplus_loglevel_t ll, const log4cplus_char_t *msgfmt, ...) 00089 LOG4CPLUS_FORMAT_ATTRIBUTE (__printf__, 3, 4); 00090 00091 LOG4CPLUS_EXPORT int log4cplus_logger_log_str(const log4cplus_char_t *name, 00092 log4cplus_loglevel_t ll, const log4cplus_char_t *msg); 00093 00094 LOG4CPLUS_EXPORT int log4cplus_logger_force_log(const log4cplus_char_t *name, 00095 log4cplus_loglevel_t ll, const log4cplus_char_t *msgfmt, ...) 00096 LOG4CPLUS_FORMAT_ATTRIBUTE (__printf__, 3, 4); 00097 00098 LOG4CPLUS_EXPORT int log4cplus_logger_force_log_str(const log4cplus_char_t *name, 00099 log4cplus_loglevel_t ll, const log4cplus_char_t *msg); 00100 00102 typedef void (* log4cplus_log_event_callback_t)(void * cookie, 00103 log4cplus_char_t const * message, log4cplus_char_t const * loggerName, 00104 log4cplus_loglevel_t ll, log4cplus_char_t const * thread, 00105 log4cplus_char_t const * thread2, 00106 unsigned long long timestamp_secs, unsigned long timestamp_usecs, 00107 log4cplus_char_t const * file, log4cplus_char_t const * function, int line); 00108 00109 LOG4CPLUS_EXPORT int log4cplus_add_callback_appender( 00110 const log4cplus_char_t * logger, log4cplus_log_event_callback_t callback, 00111 void * cookie); 00112 00113 00114 #ifdef __cplusplus 00115 } 00116 #endif 00117 00118 #endif /*?LOG4CPLUS_CLOGGERHEADER_*/