00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_BASE_LOGGER_H
00013 #define ZYPP_BASE_LOGGER_H
00014
00015 #include <iosfwd>
00016
00038
00039 #ifndef ZYPP_BASE_LOGGER_LOGGROUP
00040
00041 #define ZYPP_BASE_LOGGER_LOGGROUP "DEFINE_LOGGROUP"
00042 #endif
00043
00044 #define XXX _XXX( ZYPP_BASE_LOGGER_LOGGROUP )
00045 #define DBG _DBG( ZYPP_BASE_LOGGER_LOGGROUP )
00046 #define MIL _MIL( ZYPP_BASE_LOGGER_LOGGROUP )
00047 #define WAR _WAR( ZYPP_BASE_LOGGER_LOGGROUP )
00048 #define ERR _ERR( ZYPP_BASE_LOGGER_LOGGROUP )
00049 #define SEC _SEC( ZYPP_BASE_LOGGER_LOGGROUP )
00050 #define INT _INT( ZYPP_BASE_LOGGER_LOGGROUP )
00051 #define USR _USR( ZYPP_BASE_LOGGER_LOGGROUP )
00052
00053 #define _XXX(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_XXX )
00054 #define _DBG(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_DBG )
00055 #define _MIL(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_MIL )
00056 #define _WAR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_WAR )
00057 #define _ERR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_ERR )
00058 #define _SEC(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_SEC )
00059 #define _INT(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_INT )
00060 #define _USR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_USR )
00061
00062 #define _BASEFILE ( *__FILE__ == '/' ? strrchr( __FILE__, '/' ) + 1 : __FILE__ )
00063
00065 #define ZYPP_BASE_LOGGER_LOG(GROUP,LEVEL) \
00066 zypp::base::logger::getStream( GROUP, LEVEL, _BASEFILE, __FUNCTION__, __LINE__ )
00067
00070
00071 namespace zypp
00072 {
00073
00074 namespace base
00075 {
00076
00078 namespace logger
00079 {
00080
00085 enum LogLevel {
00086 E_XXX = 999,
00087 E_DBG = 0,
00088 E_MIL,
00089 E_WAR,
00090 E_ERR,
00091 E_SEC,
00092 E_INT,
00093 E_USR
00094 };
00095
00106 extern std::ostream & getStream( const char * group_r,
00107 LogLevel level_r,
00108 const char * file_r,
00109 const char * func_r,
00110 const int line_r );
00111
00113 }
00115
00117 }
00120 }
00122 #endif // ZYPP_BASE_LOGGER_H