12 #ifndef ZYPP_BASE_LOGGER_H 13 #define ZYPP_BASE_LOGGER_H 33 TraceLeave(
const char * file_r,
const char * fnc_r,
int line_r );
41 #define TRACE ::zypp::debug::TraceLeave _TraceLeave( __FILE__, __FUNCTION__, __LINE__ ) 46 Osd( std::ostream &,
int = 0 );
52 _strout << std::forward<Tp>(val);
53 _strlog << std::forward<Tp>(val);
57 Osd &
operator<<( std::ostream& (*iomanip)( std::ostream& ) );
63 #define OSD ::zypp::debug::Osd(L_USR("OSD")) 91 #ifndef ZYPP_BASE_LOGGER_LOGGROUP 93 #define ZYPP_BASE_LOGGER_LOGGROUP "DEFINE_LOGGROUP" 96 #define XXX L_XXX( ZYPP_BASE_LOGGER_LOGGROUP ) 97 #define DBG L_DBG( ZYPP_BASE_LOGGER_LOGGROUP ) 98 #define MIL L_MIL( ZYPP_BASE_LOGGER_LOGGROUP ) 99 #define WAR L_WAR( ZYPP_BASE_LOGGER_LOGGROUP ) 100 #define ERR L_ERR( ZYPP_BASE_LOGGER_LOGGROUP ) 101 #define SEC L_SEC( ZYPP_BASE_LOGGER_LOGGROUP ) 102 #define INT L_INT( ZYPP_BASE_LOGGER_LOGGROUP ) 103 #define USR L_USR( ZYPP_BASE_LOGGER_LOGGROUP ) 105 #define L_XXX(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_XXX ) 106 #define L_DBG(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP"++", zypp::base::logger::E_MIL ) 107 #define L_MIL(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_MIL ) 108 #define L_WAR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_WAR ) 109 #define L_ERR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_ERR ) 110 #define L_SEC(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_SEC ) 111 #define L_INT(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_INT ) 112 #define L_USR(GROUP) ZYPP_BASE_LOGGER_LOG( GROUP, zypp::base::logger::E_USR ) 115 #define L_ENV_CONSTR_DEFINE_FUNC(ENV) \ 116 namespace zypp::log { \ 117 bool has_env_constr_##ENV () \ 119 static bool has_##ENV = (::getenv(#ENV) != NULL); \ 122 const char *empty_or_group_if_##ENV ( const char *group ) \ 124 return has_env_constr_##ENV() ? group : nullptr; \ 128 #define L_ENV_CONSTR_FWD_DECLARE_FUNC(ENV) namespace zypp::log { bool has_env_constr_##ENV (); const char *empty_or_group_if_##ENV ( const char *group ); } 129 #define L_ENV_CONSTR(ENV,GROUP,LEVEL) ZYPP_BASE_LOGGER_LOG( zypp::log::empty_or_group_if_##ENV( GROUP ), LEVEL ) 131 #define L_BASEFILE ( *__FILE__ == '/' ? strrchr( __FILE__, '/' ) + 1 : __FILE__ ) 134 #define ZYPP_BASE_LOGGER_LOG(GROUP,LEVEL) \ 135 zypp::base::logger::getStream( GROUP, LEVEL, L_BASEFILE, __FUNCTION__, __LINE__ ) 175 extern std::ostream &
getStream(
const char * group_r,
192 #endif // ZYPP_BASE_LOGGER_H
Osd & operator<<(Tp &&val)
LogLevel
Definition of log levels.
TraceLeave & operator=(const TraceLeave &)=delete
TraceLeave(const TraceLeave &)=delete
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
std::ostream & operator<<(std::ostream &str, const Tm &obj)
Tm Stream output.
std::ostream & getStream(const char *group_r, LogLevel level_r, const char *file_r, const char *func_r, const int line_r)
Return a log stream to write on.
Easy-to use interface to the ZYPP dependency resolver.