17 #ifndef HH_SENF_Utils_Logger_Definitions_ 18 #define HH_SENF_Utils_Logger_Definitions_ 1 50 # define SENF_LOG_DEFINE_STREAM(stream, defaultLevel_, runtimeLimit_, compileLimit_) \ 52 : public senf::log::detail::StreamBase, public senf::singleton<stream> \ 54 typedef defaultLevel_ defaultLevel; \ 55 typedef runtimeLimit_ runtimeLimit; \ 56 typedef compileLimit_ compileLimit; \ 57 static std::string name() { return instance().v_name(); } \ 58 unsigned defaultRuntimeLimit() const { return runtimeLimit::value; } \ 59 using senf::singleton<stream>::instance; \ 61 stream() { init(); } \ 62 friend class senf::singleton<stream>; \ 71 # define SENF_LOG_DEFINE_AREA(area) SENF_LOG_DEFINE_AREA_I(area, ; ) 73 # define SENF_LOG_DEFINE_NAMED_AREA(area, name) \ 74 SENF_LOG_DEFINE_AREA_I(area, \ 75 std::string v_name() const { return name; } ); 85 # define SENF_LOG_CLASS_AREA() \ 86 SENF_LOG_DEFINE_AREA_I( \ 88 std::string v_name() const \ 89 { std::string s (fullName()); return std::string(s,0,s.size()-13); }); \ 90 SENF_LOG_DEFAULT_AREA(SENFLogArea) 100 # define SENF_LOG_DEFINE_ALIAS(alias,args) \ 101 struct alias : public senf::log::detail::AliasBase \ 103 template <class Base> \ 106 typedef typename SENF_LOG_MERGE_PARAMETERS_I(Base,args) type; \
SENF_LOG_DEFINE_AREA(DefaultArea)
Default global log area.
SENF_LOG_DEFINE_STREAM(Debug, MESSAGE, MESSAGE, NOTICE)
Default global log stream.