mirror of
https://github.com/mutouyun/cpp-ipc.git
synced 2025-12-07 01:06:45 +08:00
Refactor logging code and update test cases
This commit is contained in:
parent
30e5af90b3
commit
f3ecf7c61c
@ -105,21 +105,31 @@ inline auto &make_std_out() noexcept {
|
|||||||
return std_out;
|
return std_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Log information base class.
|
||||||
|
*/
|
||||||
|
class logger_base {
|
||||||
|
protected:
|
||||||
|
char const *func_;
|
||||||
|
level level_limit_;
|
||||||
|
|
||||||
|
logger_base(char const *func, level level_limit) noexcept
|
||||||
|
: func_ (func)
|
||||||
|
, level_limit_(level_limit) {}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Log information grips.
|
* \brief Log information grips.
|
||||||
*/
|
*/
|
||||||
template <typename Outputer>
|
template <typename Outputer>
|
||||||
class logger {
|
class logger : public logger_base {
|
||||||
Outputer out_;
|
Outputer out_;
|
||||||
char const *func_;
|
|
||||||
level level_limit_;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
template <typename O>
|
template <typename O>
|
||||||
logger(char const *func, O &&out, level level_limit) noexcept
|
logger(char const *func, O &&out, level level_limit) noexcept
|
||||||
: out_ (std::forward<O>(out))
|
: logger_base(func, level_limit)
|
||||||
, func_ (func)
|
, out_ (std::forward<O>(out)) {}
|
||||||
, level_limit_(level_limit) {}
|
|
||||||
|
|
||||||
template <typename... A>
|
template <typename... A>
|
||||||
logger const &operator()(log::level l, A &&...args) const noexcept {
|
logger const &operator()(log::level l, A &&...args) const noexcept {
|
||||||
|
|||||||
@ -17,7 +17,7 @@ TEST(log, logger) {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
LIBIMP_LOG_();
|
LIBIMP_LOG_();
|
||||||
log.info(), "hello ", 3;
|
log.info("hello ", 3);
|
||||||
}
|
}
|
||||||
SUCCEED();
|
SUCCEED();
|
||||||
}
|
}
|
||||||
@ -36,11 +36,11 @@ TEST(log, custom) {
|
|||||||
|
|
||||||
LIBIMP_LOG_(ll);
|
LIBIMP_LOG_(ll);
|
||||||
|
|
||||||
log.info ("hello");
|
log.info ("hello", " world");
|
||||||
log.error("failed:");
|
log.error("failed", ":");
|
||||||
log.info ("log-pt");
|
log.info ("log", '-', "pt");
|
||||||
log.error("whatever");
|
log.error("whatever");
|
||||||
|
|
||||||
EXPECT_EQ(ll_data.i, "hello log-pt ");
|
EXPECT_EQ(ll_data.i, "hello world log-pt ");
|
||||||
EXPECT_EQ(ll_data.e, "failed: whatever ");
|
EXPECT_EQ(ll_data.e, "failed: whatever ");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user