44#ifndef INCLUDE_OLA_LOGGING_H_
45#define INCLUDE_OLA_LOGGING_H_
57#define OLA_LOG(level) (level <= ola::LogLevel()) && \
58 ola::LogLine(__FILE__, __LINE__, level).stream()
65#define OLA_FATAL OLA_LOG(ola::OLA_LOG_FATAL)
73#define OLA_WARN OLA_LOG(ola::OLA_LOG_WARN)
81#define OLA_INFO OLA_LOG(ola::OLA_LOG_INFO)
89#define OLA_DEBUG OLA_LOG(ola::OLA_LOG_DEBUG)
188 void Write(
log_level level,
const std::string &log_line);
190 typedef void* WindowsLogHandle;
191 WindowsLogHandle m_eventlog;
220 LogLine(
const char *file,
int line,
log_level level);
224 std::ostream &stream() {
return m_stream; }
227 std::ostringstream m_stream;
228 unsigned int m_prefix_length;
The base class for log destinations.
Definition Logging.h:126
A LogDestination that writes to stderr.
Definition Logging.h:144
An abstract base of LogDestination that writes to syslog.
Definition Logging.h:155
A SyslogDestination that writes to Unix syslog.
Definition Logging.h:197
void Write(log_level level, const std::string &log_line)
Writes a messages out to stderr.
Definition Logging.cpp:185
bool Init()
Initialize the UnixSyslogDestination.
Definition Logging.cpp:233
@ OLA_LOG_FATAL
Definition Logging.h:100
@ OLA_LOG_DEBUG
Definition Logging.h:103
@ OLA_LOG_INFO
Definition Logging.h:102
@ OLA_LOG_WARN
Definition Logging.h:101
@ OLA_LOG_NONE
Definition Logging.h:99
bool InitLoggingFromFlags()
Initialize the OLA logging system from flags.
Definition Logging.cpp:83
void IncrementLogLevel()
Increment the log level by one. The log level wraps to OLA_LOG_NONE.
Definition Logging.cpp:76
virtual bool Init()=0
Initialize the SyslogDestination.
void SetLogLevel(log_level level)
Set the logging level.
Definition Logging.cpp:71
virtual void Write(log_level level, const std::string &log_line)=0
Write a line to the system logger.
void Write(log_level level, const std::string &log_line)
Write a line to syslog.
Definition Logging.cpp:237
virtual ~LogDestination()
Destructor.
Definition Logging.h:131
log_level LogLevel()
Fetch the current level of logging.
Definition Logging.h:247
virtual void Write(log_level level, const std::string &log_line)=0
An abstract function for writing to your log destination.
virtual ~SyslogDestination()
Destructor.
Definition Logging.h:160
@ OLA_LOG_STDERR
Definition Logging.h:117
@ OLA_LOG_SYSLOG
Definition Logging.h:118
bool InitLogging(log_level level, log_output output)
Initialize the OLA logging system.
Definition Logging.cpp:118
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
log_level
The OLA log levels. This controls the verbosity of logging. Each level also includes those below it.
Definition Logging.h:98
log_output
The destination to write log messages to.
Definition Logging.h:116