Open Lighting Architecture  0.9.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Files | Namespaces | Macros | Enumerator | Functions
Logging

Detailed Description

The OLA logging system.

Example
\#include <ola/Logging.h>

// Call this once
ola::InitLogging(ola::OLA_LOG_WARN, ola::OLA_LOG_STDERR);

OLA_FATAL << "Null pointer!";
OLA_WARN << "Could not connect to server: " << ip_address;
OLA_INFO << "Reading configs from " << config_dir;
OLA_DEBUG << "Counter was " << counter;

Files

file  Logging.cpp
file  Logging.h
 Header file for OLA Logging.

Namespaces

namespace  ola
 The namespace containing all OLA symbols.

Macros

#define OLA_LOG(level)
#define OLA_FATAL   OLA_LOG(ola::OLA_LOG_FATAL)
#define OLA_WARN   OLA_LOG(ola::OLA_LOG_WARN)
#define OLA_INFO   OLA_LOG(ola::OLA_LOG_INFO)
#define OLA_DEBUG   OLA_LOG(ola::OLA_LOG_DEBUG)

Functions

void ola::SetLogLevel (log_level level)
 Set the logging level.
void ola::IncrementLogLevel ()
 Increment the log level by one. The log level wraps to OLA_LOG_NONE.
bool ola::InitLoggingFromFlags ()
 Initialize the OLA logging system from flags.
bool ola::InitLogging (log_level level, log_output output)
 Initialize the OLA logging system.
void ola::InitLogging (log_level level, LogDestination *destination)
 Initialize the OLA logging system using the specified LogDestination.
virtual ola::LogDestination::~LogDestination ()
 Destructor.
virtual void ola::LogDestination::Write (log_level level, const std::string &log_line)=0
 An abstract function for writing to your log destination.
void ola::StdErrorLogDestination::Write (log_level level, const std::string &log_line)
 Writes a messages out to stderr.
virtual ola::SyslogDestination::~SyslogDestination ()
 Destructor.
virtual bool ola::SyslogDestination::Init ()=0
 Initialize the SyslogDestination.
virtual void ola::SyslogDestination::Write (log_level level, const std::string &log_line)=0
 Write a line to the system logger.
bool ola::UnixSyslogDestination::Init ()
 Initialize the UnixSyslogDestination.
void ola::UnixSyslogDestination::Write (log_level level, const std::string &log_line)
 Write a line to syslog.
log_level ola::LogLevel ()
 Fetch the current level of logging.

Macro Definition Documentation

#define OLA_DEBUG   OLA_LOG(ola::OLA_LOG_DEBUG)

Provide a stream to log a debug message.

OLA_DEBUG << "Counter was " << counter;
#define OLA_FATAL   OLA_LOG(ola::OLA_LOG_FATAL)

Provide a stream to log a fatal message. e.g.

OLA_FATAL << "Null pointer!";
#define OLA_INFO   OLA_LOG(ola::OLA_LOG_INFO)

Provide a stream to log an infomational message.

OLA_INFO << "Reading configs from " << config_dir;
#define OLA_LOG (   level)
Value:
(level <= ola::LogLevel()) && \
ola::LogLine(__FILE__, __LINE__, level).stream()

Provide a stream interface to log a message at the specified log level. Rather than calling this directly use one of the OLA_FATAL, OLA_WARN, OLA_INFO or OLA_DEBUG macros.

Parameters
levelthe log_level to log at.
#define OLA_WARN   OLA_LOG(ola::OLA_LOG_WARN)

Provide a stream to log a warning message.

OLA_WARN << "Could not connect to server: " << ip_address;

Function Documentation

bool ola::InitLogging ( log_level  level,
log_output  output 
)

Initialize the OLA logging system.

Parameters
levelthe level to log at
outputthe destintion for the logs
Returns
true if logging was initialized sucessfully, false otherwise.
void ola::InitLogging ( log_level  level,
LogDestination *  destination 
)

Initialize the OLA logging system using the specified LogDestination.

Parameters
levelthe level to log at
destinationthe LogDestination to use.
Returns
true if logging was initialized sucessfully, false otherwise.
bool ola::InitLoggingFromFlags ( )

Initialize the OLA logging system from flags.

Precondition
ParseFlags() must have been called before calling this.
Returns
true if logging was initialized sucessfully, false otherwise.
log_level ola::LogLevel ( )
inline

Fetch the current level of logging.

Returns
the current log_level.
void ola::SetLogLevel ( log_level  level)

Set the logging level.

Parameters
levelthe new log_level to use.
virtual void ola::LogDestination::Write ( log_level  level,
const std::string &  log_line 
)
pure virtual

An abstract function for writing to your log destination.

Note
You must over load this if you want to create a new log destination

Implemented in ola::UnixSyslogDestination, ola::SyslogDestination, and ola::StdErrorLogDestination.

virtual void ola::SyslogDestination::Write ( log_level  level,
const std::string &  log_line 
)
pure virtual

Write a line to the system logger.

Note
This is syslog on *nix or the event log on windows.

Implements ola::LogDestination.

Implemented in ola::UnixSyslogDestination.