10enum class LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3 };
12using LogCallback = std::function<void(LogLevel, std::string_view)>;
16inline std::string sanitize_log_message(std::string_view message) {
17 std::string sanitized;
18 sanitized.reserve(message.size());
19 for (
char c : message) {
20 const auto ch =
static_cast<unsigned char>(c);
21 if (ch < 0x20 || ch == 0x7f) {
22 sanitized += std::format(
"\\x{:02x}", ch);