UTILLib 2.0
Common C++ library with utilities.
Loading...
Searching...
No Matches
logstream.h
Go to the documentation of this file.
1/*
2 * Copyright 2021 Ingemar Hedvall
3 * SPDX-License-Identifier: MIT
4 */
5
11#pragma once
12#include <sstream>
13#include <string>
14
15#include "util/logging.h"
16
17namespace util::log {
18
19#define LOG_TRACE() \
20 util::log::LogStream(util::log::Loc::current(), \
21 util::log::LogSeverity::kTrace)
22
23#define LOG_DEBUG() \
24 util::log::LogStream(util::log::Loc::current(), \
25 util::log::LogSeverity::kDebug)
26
27#define LOG_INFO() \
28 util::log::LogStream(util::log::Loc::current(), \
29 util::log::LogSeverity::kInfo)
30
31#define LOG_NOTICE() \
32 util::log::LogStream(util::log::Loc::current(), \
33 util::log::LogSeverity::kNotice)
34
35#define LOG_WARNING() \
36 util::log::LogStream(util::log::Loc::current(), \
37 util::log::LogSeverity::kWarning)
38
39#define LOG_ERROR() \
40 util::log::LogStream(util::log::Loc::current(), \
41 util::log::LogSeverity::kError)
42
43#define LOG_CRITICAL() \
44 util::log::LogStream(util::log::Loc::current(), \
45 util::log::LogSeverity::kCritical)
46
47#define LOG_ALERT() \
48 util::log::LogStream(util::log::Loc::current(), \
49 util::log::LogSeverity::kAlert)
50
51#define LOG_EMERGENCY() \
52 util::log::LogStream(util::log::Loc::current(), \
53 util::log::LogSeverity::kEmergency)
54
68class LogStream : public std::ostringstream {
69 public:
70 LogStream(const Loc &location, LogSeverity severity);
71 ~LogStream() override;
72
73 LogStream() = delete;
74 LogStream(const LogStream &) = delete;
75 LogStream(LogStream &&) = delete;
76 LogStream &operator=(const LogStream &) = delete;
77 LogStream &operator=(LogStream &&) = delete;
78
79 private:
80 Loc location_;
81 LogSeverity severity_;
82};
83} // namespace util::log
~LogStream() override
Destructor.
LogStream(const Loc &location, LogSeverity severity)
Constructor.
Standard log interfaces.
The log namespace is used for log related classes and functions.
Definition idirectory.h:18
std::experimental::source_location Loc
Definition logging.h:41
LogSeverity
< Defines the log severity level
Definition logging.h:21