Minotaur 0.4.1
Docs for developers
Logger.h
Go to the documentation of this file.
1//
2// Minotaur -- It's only 1/2 bull
3//
4// (C)opyright 2010 - 2025 The Minotaur Team.
5//
6
13#ifndef MINOTAURLOGGER_H
14#define MINOTAURLOGGER_H
15
31#include <iostream>
32#include <streambuf>
33
34#include "Types.h"
35
36namespace Minotaur {
37 class Logger {
38 public:
40 Logger(LogLevel max_level=LogInfo);
41
43 virtual ~Logger();
44
46 inline void setMaxLevel(LogLevel maxLevel) { maxLevel_ = maxLevel; }
47
49 inline LogLevel getMaxLevel() const { return maxLevel_; }
50
52 virtual std::ostream& msgStream(LogLevel level) const;
53
55 std::ostream& errStream() const;
56
57 protected:
58 // Maximum output level
59 LogLevel maxLevel_;
60
61 private:
63 Logger (const Logger &l);
64
66 Logger & operator = (const Logger &l);
67
69 class nullbuf : public std::streambuf {
70 protected:
72 virtual int_type overflow(int_type c) { return c; }
73 };
75 nullbuf nb_;
76
77 // Null output stream
78 mutable std::ostream nout_;
79 };
80
81 typedef const Logger* ConstLoggerPtr;
82}
83
84#endif
85
Declare important 'types' used in Minotaur.
Definition: Logger.h:37
LogLevel getMaxLevel() const
Get the maxLevel.
Definition: Logger.h:49
Logger(LogLevel max_level=LogInfo)
Default constructor.
Definition: Logger.cpp:14
virtual std::ostream & msgStream(LogLevel level) const
Get the stream where one can write messages.
Definition: Logger.cpp:27
void setMaxLevel(LogLevel maxLevel)
Do not write messages that are above maxLevel.
Definition: Logger.h:46
virtual ~Logger()
Destroy.
Definition: Logger.cpp:21
std::ostream & errStream() const
Get the stream where one can write errors.
Definition: Logger.cpp:36
Definition: ActiveNodeStore.h:20
LogLevel
Levels of verbosity.
Definition: Types.h:226

Minotaur source code documented by Doxygen 1.9.4 on Thu Apr 24 2025