log4cplus  2.0.0
clogger.h
Go to the documentation of this file.
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_*/