Program Listing for File logging.h
↰ Return to documentation for file (include/amici/logging.h
)
#ifndef AMICI_LOGGER_H
#define AMICI_LOGGER_H
#include <string>
#include <vector>
namespace amici {
struct LogItem;
enum class LogSeverity {
error,
warning,
debug,
};
class Logger
{
public:
Logger() = default;
void log(
LogSeverity severity,
std::string const& identifier,
std::string const& message
);
#if SWIG_VERSION >= 0x040002
#else
// swig 4.0.1 segfaults on "@param ..."
// see https://github.com/swig/swig/issues/1643
#endif
void
log(LogSeverity severity, std::string const& identifier, char const* format,
...);
std::vector<LogItem> items;
};
struct LogItem
{
LogItem() = default;
LogItem(
LogSeverity severity,
std::string const& identifier,
std::string const& message
):
severity(severity)
,identifier(identifier)
,message(message)
{};
LogSeverity severity;
std::string identifier;
std::string message;
};
} // namespace amici
#endif // AMICI_LOGGER_H