12#include "MantidKernel/DllConfig.h"
15#include <Poco/Message.h>
60 Logger(
const std::string &name);
62 void setName(
const std::string &name);
65 void fatal(
const std::string &msg);
67 void error(
const std::string &msg);
69 void warning(
const std::string &msg);
71 void notice(
const std::string &msg);
73 void information(
const std::string &msg);
75 void debug(
const std::string &msg);
77 void accumulate(
const std::string &msg);
83 void flushInformation();
91 std::ostream &fatal();
93 std::ostream &
error();
95 std::ostream &warning();
97 std::ostream ¬ice();
99 std::ostream &information();
101 std::ostream &debug();
104 void log(
const std::string &message,
const Priority &priority);
107 std::ostream &getLogStream(
const Priority &priority);
110 void dump(
const std::string &msg,
const void *buffer, std::size_t length);
113 void setLevel(
int level);
116 void setLevelOffset(
int level);
119 int getLevelOffset()
const;
122 int getLevel()
const;
125 void setLevel(
const std::string &level);
128 bool getEnabled()
const;
131 void setEnabled(
const bool enabled);
134 bool is(
int level)
const;
138 static void setLevelForAll(
const int level);
141 static void shutdown();
The Logger class is in charge of the publishing messages from the framework through various channels.
static const std::string * PriorityNames
bool m_enabled
The state of this logger, disabled loggers send no messages.
Poco::Message::Priority Priority
Poco::Logger * m_log
Internal handle to third party logging objects.
Logger & operator=(const Logger &)
Disable assignment.
std::unique_ptr< ThreadSafeLogStream > m_logStream
Allows stream operators for a logger.
Logger(const Logger &)
Disable copying.
int m_levelOffset
The offset of the logger.
Helper class which provides the Collimation Length for SANS instruments.