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