feat: LeveledSink is no more
This commit is contained in:
parent
f47fe4bae0
commit
027f901dbe
8
Log.cpp
8
Log.cpp
|
@ -144,14 +144,6 @@ void log(Level lvl, std::stringbuf* strb) {
|
|||
}
|
||||
}
|
||||
|
||||
const LeveledSink fatal{Level::fatal};
|
||||
const LeveledSink error{Level::error};
|
||||
const LeveledSink warn{Level::warn};
|
||||
const LeveledSink note{Level::note};
|
||||
const LeveledSink info{Level::info};
|
||||
const LeveledSink debug{Level::debug};
|
||||
const LeveledSink trace{Level::trace};
|
||||
|
||||
/*
|
||||
* class Entry
|
||||
*/
|
||||
|
|
41
Log.h
41
Log.h
|
@ -47,8 +47,8 @@ public:
|
|||
|
||||
using MetaFunction = std::function<std::ostream&(std::ostream&, const Entry&)>;
|
||||
|
||||
template <typename T> Entry& operator<<(const T& msg) {
|
||||
ss << msg;
|
||||
template <typename T> Entry& operator<<(T&& msg) {
|
||||
ss << std::forward<T>(msg);
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
@ -58,27 +58,22 @@ extern std::vector<Entry::MetaFunction> entryMetaFunctions;
|
|||
std::ostream& defaultEntryMetaTime(std::ostream&, const Entry&);
|
||||
std::ostream& defaultEntryMetaLevel(std::ostream&, const Entry&);
|
||||
|
||||
class LeveledSink {
|
||||
private:
|
||||
Level level;
|
||||
// copy Level values in Log namespace
|
||||
constexpr Level off = Level::off;
|
||||
constexpr Level fatal = Level::fatal;
|
||||
constexpr Level error = Level::error;
|
||||
constexpr Level warn = Level::warn;
|
||||
constexpr Level note = Level::note;
|
||||
constexpr Level info = Level::info;
|
||||
constexpr Level debug = Level::debug;
|
||||
constexpr Level trace = Level::trace;
|
||||
|
||||
public:
|
||||
explicit LeveledSink(Level level) noexcept : level{level} {};
|
||||
|
||||
template <typename T> Entry operator<<(const T& msg) const {
|
||||
Entry entry{level};
|
||||
entry << msg;
|
||||
return entry;
|
||||
}
|
||||
};
|
||||
|
||||
// LeveledSinks
|
||||
extern const LeveledSink fatal;
|
||||
extern const LeveledSink error;
|
||||
extern const LeveledSink warn;
|
||||
extern const LeveledSink note;
|
||||
extern const LeveledSink info;
|
||||
extern const LeveledSink debug;
|
||||
extern const LeveledSink trace;
|
||||
// create Log lines (Entry objects) on using operator<< on Level values
|
||||
template <typename T>
|
||||
Entry operator<<(const Level lvl, T&& msg) {
|
||||
Entry e{lvl};
|
||||
e << std::forward<T>(msg);
|
||||
return e;
|
||||
}
|
||||
|
||||
} // namespace Log
|
||||
|
|
Loading…
Reference in New Issue