Logger.h

Go to the documentation of this file.
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 
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     } // namespace logger
00115 
00117   } // namespace base
00120 } // namespace zypp
00122 #endif // ZYPP_BASE_LOGGER_H

Generated on Tue Sep 25 19:22:58 2007 for libzypp by  doxygen 1.5.3