24 using namespace folly;
25 using std::make_shared;
26 using std::shared_ptr;
52 LogLevel::DBG0, db.getCategory(
"foo.test.1234")->getEffectiveLevel());
55 auto noinherit = db.getCategory(
"foo.test.noinherit");
65 LogLevel::DBG0, db.getCategory(
"foo.test.1234")->getEffectiveLevel());
74 db.getCategory(
"foo.test.noinherit")->getEffectiveLevel());
81 SCOPED_TRACE(folly::to<string>(
"num_handlers= ", numHandlers));
86 Logger foobar{&db,
"foo.bar"};
87 std::vector<shared_ptr<TestLogHandler>> handlers;
88 for (
size_t n = 0; n < numHandlers; ++n) {
89 handlers.emplace_back(make_shared<TestLogHandler>());
90 foobar.getCategory()->addHandler(handlers.back());
95 auto rootHandler = make_shared<TestLogHandler>();
96 auto rootCategory = db.getCategory(
"");
97 rootCategory->addHandler(rootHandler);
100 Logger childLogger{&db,
"foo.bar.child"};
104 for (
const auto&
handler : handlers) {
113 auto&
messages = rootHandler->getMessages();
123 for (
const auto&
handler : handlers) {
132 auto&
messages = rootHandler->getMessages();
141 Logger siblingLogger{&db,
"foo.sibling"};
143 for (
const auto&
handler : handlers) {
148 auto&
messages = rootHandler->getMessages();
static struct message messages[5]
#define ASSERT_EQ(val1, val2)
#define EXPECT_EQ(val1, val2)
FOLLY_NOINLINE void foo2()
#define SCOPED_TRACE(message)
—— Concurrent Priority Queue Implementation ——
#define FB_LOG(logger, level,...)
void handler(int, siginfo_t *, void *)
void testNumHandlers(size_t numHandlers)
constexpr LogLevel kDefaultLogLevel
TEST(SequencedExecutor, CPUThreadPoolExecutor)
constexpr detail::First first