datactl/logging.h
datactl/logging.h
Namespaces
| Name |
|---|
| Syntalos |
| Syntalos::datactl |
Classes
| Name | |
|---|---|
| struct | Syntalos::datactl::LogMessage Describes a single log message. |
Source code
/*
* Copyright (C) 2025-2026 Matthias Klumpp <matthias@tenstral.net>
*
* Licensed under the GNU Lesser General Public License Version 3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the license, or
* (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <cstdint>
#include <functional>
#include <string_view>
namespace Syntalos::datactl
{
enum class LogSeverity : uint8_t {
TraceL3,
TraceL2,
TraceL1,
Debug,
Info,
Notice,
Warning,
Error,
Critical,
};
struct LogMessage {
LogSeverity severity;
const char *category;
const char *file;
int line;
const char *function;
std::string_view message;
};
using LogHandlerFn = std::function<void(const LogMessage &)>;
void setLogHandler(LogHandlerFn handler);
void setLogSeverity(LogSeverity min);
void setLogSeverity(const char *category, LogSeverity min);
} // namespace Syntalos::datactl
Updated on 2026-04-24 at 06:25:18 +0000