forked from enlightenment/efl
eina-cxx: Modified eina C++ log use syntax
Summary: Modified syntax for eina C++ log to imitate the macro call as returning a stream. So, instead of: EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain, "foo " << 5); It is now used as: EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain) << "foo " << 5; Which more closely resambles using IOStreams in C++. @feature Reviewers: cedric, barbieri, smohanty Reviewed By: barbieri CC: cedric Differential Revision: https://phab.enlightenment.org/D623
This commit is contained in:
parent
6436618c92
commit
6bb01b0d18
|
@ -79,47 +79,45 @@ inline void _log(std::stringstream const& stream, int domain, ::Eina_Log_Level l
|
|||
, "%s", stream.str().c_str());
|
||||
}
|
||||
|
||||
#define EINA_CXX_DOM_LOG(DOMAIN, LEVEL, EXPR) \
|
||||
if( ::eina_log_domain_level_check((DOMAIN), LEVEL)) \
|
||||
{ \
|
||||
std::stringstream stream; \
|
||||
stream << EXPR; \
|
||||
::efl::eina::_log(std::move(stream), (DOMAIN), LEVEL \
|
||||
, __FILE__, __FUNCTION__, __LINE__); \
|
||||
}
|
||||
#define EINA_CXX_DOM_LOG(DOMAIN, LEVEL) \
|
||||
if( bool run = ::eina_log_domain_level_check((DOMAIN), LEVEL) ) \
|
||||
for(std::stringstream stream; run ; \
|
||||
::efl::eina::_log(std::move(stream), (DOMAIN), LEVEL \
|
||||
, __FILE__, __FUNCTION__, __LINE__), run = false) \
|
||||
stream
|
||||
|
||||
#define EINA_CXX_DOM_LOG_CRIT(DOMAIN, EXPR) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_CRITICAL, EXPR)
|
||||
#define EINA_CXX_DOM_LOG_CRIT(DOMAIN) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_CRITICAL)
|
||||
|
||||
#define EINA_CXX_DOM_LOG_ERR(DOMAIN, EXPR) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_ERR, EXPR)
|
||||
#define EINA_CXX_DOM_LOG_ERR(DOMAIN) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_ERR)
|
||||
|
||||
#define EINA_CXX_DOM_LOG_INFO(DOMAIN, EXPR) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_INFO, EXPR)
|
||||
#define EINA_CXX_DOM_LOG_INFO(DOMAIN) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_INFO)
|
||||
|
||||
#define EINA_CXX_DOM_LOG_DBG(DOMAIN, EXPR) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_DBG, EXPR)
|
||||
#define EINA_CXX_DOM_LOG_DBG(DOMAIN) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_DBG)
|
||||
|
||||
#define EINA_CXX_DOM_LOG_WARN(DOMAIN, EXPR) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_WARN, EXPR)
|
||||
#define EINA_CXX_DOM_LOG_WARN(DOMAIN) \
|
||||
EINA_CXX_DOM_LOG(DOMAIN.domain_raw(), ::EINA_LOG_LEVEL_WARN)
|
||||
|
||||
#define EINA_CXX_LOG(LEVEL, EXPR) \
|
||||
EINA_CXX_DOM_LOG(EINA_LOG_DOMAIN_DEFAULT, LEVEL, EXPR)
|
||||
#define EINA_CXX_LOG(LEVEL) \
|
||||
EINA_CXX_DOM_LOG(EINA_LOG_DOMAIN_DEFAULT, LEVEL)
|
||||
|
||||
#define EINA_CXX_LOG_CRIT(EXPR) \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_CRITICAL, EXPR)
|
||||
#define EINA_CXX_LOG_CRIT() \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_CRITICAL)
|
||||
|
||||
#define EINA_CXX_LOG_ERR(EXPR) \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_ERR, EXPR)
|
||||
#define EINA_CXX_LOG_ERR() \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_ERR)
|
||||
|
||||
#define EINA_CXX_LOG_INFO(EXPR) \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_INFO, EXPR)
|
||||
#define EINA_CXX_LOG_INFO() \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_INFO)
|
||||
|
||||
#define EINA_CXX_LOG_DBG(EXPR) \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_DBG, EXPR)
|
||||
#define EINA_CXX_LOG_DBG() \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_DBG)
|
||||
|
||||
#define EINA_CXX_LOG_WARN(EXPR) \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_WARN, EXPR)
|
||||
#define EINA_CXX_LOG_WARN() \
|
||||
EINA_CXX_LOG(EINA_LOG_LEVEL_WARN)
|
||||
|
||||
} }
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ START_TEST(eina_cxx_expensive_log)
|
|||
|
||||
domain.set_level(EINA_LOG_LEVEL_CRITICAL);
|
||||
|
||||
EINA_CXX_DOM_LOG_ERR(domain, "foo " << ::expensive_call());
|
||||
EINA_CXX_DOM_LOG_ERR(domain) << "foo " << ::expensive_call();
|
||||
ck_assert(!expensive_called);
|
||||
}
|
||||
END_TEST
|
||||
|
@ -51,17 +51,17 @@ START_TEST(eina_cxx_domain_log)
|
|||
|
||||
efl::eina::log_domain domain("error_domain");
|
||||
|
||||
EINA_CXX_DOM_LOG_CRIT(domain, "foo 0x" << std::hex << 10);
|
||||
EINA_CXX_DOM_LOG_ERR(domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_INFO(domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_DBG(domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_WARN(domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_CRIT(domain) << "foo 0x" << std::hex << 10;
|
||||
EINA_CXX_DOM_LOG_ERR(domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_INFO(domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_DBG(domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_WARN(domain) << "foo " << 5;
|
||||
|
||||
EINA_CXX_LOG_CRIT("foo " << 5);
|
||||
EINA_CXX_LOG_ERR("foo " << 5);
|
||||
EINA_CXX_LOG_INFO("foo " << 5);
|
||||
EINA_CXX_LOG_DBG("foo " << 5);
|
||||
EINA_CXX_LOG_WARN("foo " << 5);
|
||||
EINA_CXX_LOG_CRIT() << "foo " << 5;
|
||||
EINA_CXX_LOG_ERR() << "foo " << 5;
|
||||
EINA_CXX_LOG_INFO() << "foo " << 5;
|
||||
EINA_CXX_LOG_DBG() << "foo " << 5;
|
||||
EINA_CXX_LOG_WARN() << "foo " << 5;
|
||||
}
|
||||
END_TEST
|
||||
|
||||
|
@ -69,11 +69,11 @@ START_TEST(eina_cxx_default_domain_log)
|
|||
{
|
||||
efl::eina::eina_init init;
|
||||
|
||||
EINA_CXX_DOM_LOG_CRIT(efl::eina::default_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_ERR(efl::eina::default_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_INFO(efl::eina::default_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_DBG(efl::eina::default_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_WARN(efl::eina::default_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_CRIT(efl::eina::default_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_ERR(efl::eina::default_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_INFO(efl::eina::default_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_DBG(efl::eina::default_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_WARN(efl::eina::default_domain) << "foo " << 5;
|
||||
}
|
||||
END_TEST
|
||||
|
||||
|
@ -83,11 +83,11 @@ START_TEST(eina_cxx_global_domain_log)
|
|||
|
||||
efl::eina::log_domain domain("domain");
|
||||
|
||||
EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_ERR(efl::eina::global_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_INFO(efl::eina::global_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_DBG(efl::eina::global_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_WARN(efl::eina::global_domain, "foo " << 5);
|
||||
EINA_CXX_DOM_LOG_CRIT(efl::eina::global_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_ERR(efl::eina::global_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_INFO(efl::eina::global_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_DBG(efl::eina::global_domain) << "foo " << 5;
|
||||
EINA_CXX_DOM_LOG_WARN(efl::eina::global_domain) << "foo " << 5;
|
||||
}
|
||||
END_TEST
|
||||
|
||||
|
|
Loading…
Reference in New Issue