11#pragma once
22
33#include < oxenc/hex.h>
4- #include < oxen/log.hpp>
54
65#include < array>
76#include < chrono>
87#include < cstddef>
8+ #include < oxen/log.hpp>
99#include < set>
1010#include < string>
1111#include < string_view>
@@ -19,37 +19,32 @@ using ustring_view = std::basic_string_view<unsigned char>;
1919
2020namespace session {
2121
22- // / RAII class that resets the log level for the given category while the object is alive, then
23- // / resets it to what it was at construction when the object is destroyed.
24- struct log_level_override
25- {
26- oxen::log::Level previous;
27- std::string category;
28-
29- log_level_override (oxen::log::Level l, std::string category) : previous{oxen::log::get_level (category)}, category{category}
30- {
31- oxen::log::set_level (category, l);
32- }
33- ~log_level_override () { oxen::log::set_level (category, previous); }
34- };
35-
36- // / Same as above, but only raises the log level to a more serious cutoff (leaving it alone if
37- // / already higher).
38- struct log_level_raiser : log_level_override
39- {
40- log_level_raiser (oxen::log::Level l, std::string category) :
41- log_level_override{std::max (l, oxen::log::get_level (category)), category}
42- {}
43- };
44- // / Same as above, but only lowers the log level to a more frivolous cutoff (leaving it alone if
45- // / already lower).
46- struct log_level_lowerer : log_level_override
47- {
48- log_level_lowerer (oxen::log::Level l, std::string category) :
49- log_level_override{std::min (l, oxen::log::get_level (category)), category}
50- {}
51- };
52- } // session
22+ // / RAII class that resets the log level for the given category while the object is alive, then
23+ // / resets it to what it was at construction when the object is destroyed.
24+ struct log_level_override {
25+ oxen::log::Level previous;
26+ std::string category;
27+
28+ log_level_override (oxen::log::Level l, std::string category) :
29+ previous{oxen::log::get_level (category)}, category{category} {
30+ oxen::log::set_level (category, l);
31+ }
32+ ~log_level_override () { oxen::log::set_level (category, previous); }
33+ };
34+
35+ // / Same as above, but only raises the log level to a more serious cutoff (leaving it alone if
36+ // / already higher).
37+ struct log_level_raiser : log_level_override {
38+ log_level_raiser (oxen::log::Level l, std::string category) :
39+ log_level_override{std::max (l, oxen::log::get_level (category)), category} {}
40+ };
41+ // / Same as above, but only lowers the log level to a more frivolous cutoff (leaving it alone if
42+ // / already lower).
43+ struct log_level_lowerer : log_level_override {
44+ log_level_lowerer (oxen::log::Level l, std::string category) :
45+ log_level_override{std::min (l, oxen::log::get_level (category)), category} {}
46+ };
47+ } // namespace session
5348
5449inline ustring operator " " _bytes(const char * x, size_t n) {
5550 return {reinterpret_cast <const unsigned char *>(x), n};
0 commit comments