-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathlog.cpp
27 lines (22 loc) · 897 Bytes
/
log.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "databento/log.hpp"
#include <iostream>
#include <memory>
databento::ILogReceiver* databento::ILogReceiver::Default() {
static const std::unique_ptr<ILogReceiver> gDefaultLogger{
std::make_unique<ConsoleLogReceiver>()};
return gDefaultLogger.get();
}
using databento::ConsoleLogReceiver;
ConsoleLogReceiver::ConsoleLogReceiver()
: ConsoleLogReceiver{LogLevel::Info, std::clog} {}
ConsoleLogReceiver::ConsoleLogReceiver(LogLevel min_level)
: ConsoleLogReceiver{min_level, std::clog} {}
ConsoleLogReceiver::ConsoleLogReceiver(std::ostream& stream)
: ConsoleLogReceiver{LogLevel::Info, stream} {}
ConsoleLogReceiver::ConsoleLogReceiver(LogLevel min_level, std::ostream& stream)
: stream_{stream}, min_level_{min_level} {}
void ConsoleLogReceiver::Receive(LogLevel level, const std::string& msg) {
if (level >= min_level_) {
stream_ << msg << '\n';
}
}