add NullLogger

This commit is contained in:
falsycat 2023-08-13 12:11:29 +09:00
parent e6d9d2205d
commit 32fc72824b
2 changed files with 30 additions and 0 deletions

View File

@ -17,6 +17,7 @@ target_sources(nf7_core
luajit/lambda.hh luajit/lambda.hh
luajit/thread.hh luajit/thread.hh
clock.hh clock.hh
logger.hh
version.hh version.hh
) )

29
core/logger.hh Normal file
View File

@ -0,0 +1,29 @@
// No copyright
#pragma once
#include <memory>
#include "iface/common/exception.hh"
#include "iface/subsys/logger.hh"
namespace nf7::core {
class NullLogger : public subsys::Logger {
public:
static const std::shared_ptr<NullLogger>& instance()
try {
static const auto kInstance = std::make_shared<NullLogger>();
return kInstance;
} catch (const std::bad_alloc&) {
throw Exception {"memory shortage"};
}
public:
NullLogger() noexcept : subsys::Logger("nf7::core::NullLogger") { }
public:
void Push(const Item&) noexcept override { }
};
} // namespace nf7::core