NGL  6.5
The NCCA Graphics Library
ngl::Logger Class Reference

#include <Logger.h>

+ Inheritance diagram for ngl::Logger:
+ Collaboration diagram for ngl::Logger:

Classes

class  Impl
 

Public Types

typedef boost::iostreams::tee_device< std::ostream, std::ofstream > Tee
 
typedef boost::iostreams::stream< TeeTeeStream
 

Public Member Functions

void logMessage (const char *fmt,...) noexcept
 
void logError (const char *fmt,...) noexcept
 
void logWarning (const char *fmt,...) noexcept
 
void close () noexcept
 
void enableLogToFile () noexcept
 
void disableLogToFile () noexcept
 
void enableLogToConsole () noexcept
 
void disableLogToConsole () noexcept
 
void enableLogToFileAndConsole () noexcept
 
void disableLogToFileAndConsole () noexcept
 
void setLogFile (const std::string &_fname) noexcept
 
void setColour (Colours _c) noexcept
 
void enableLineNumbers () noexcept
 
void disableLineNumbers () noexcept
 
void enableTimeStamp () noexcept
 
void disableTimeStamp () noexcept
 
void disableColours () noexcept
 
void enableColours () noexcept
 
void setLineNumberPad (unsigned int i) noexcept
 
void setTimeFormat (TimeFormat _f) noexcept
 
boost::iostreams::stream< Logger::Tee > & cout () noexcept
 
- Public Member Functions inherited from ngl::Singleton< Logger >
 Singleton (const Singleton &)=delete
 
Singletonoperator= (const Singleton &)=delete
 

Private Member Functions

 Logger () noexcept
 
 Logger (const std::string &_fname) noexcept
 
 ~Logger ()
 

Private Attributes

std::unique_ptr< Implm_impl
 

Friends

class Singleton< Logger >
 

Additional Inherited Members

- Static Public Member Functions inherited from ngl::Singleton< Logger >
static Loggerinstance ()
 Get the instance. More...
 
- Protected Member Functions inherited from ngl::Singleton< Logger >
 Singleton ()
 Constructor. More...
 
virtual ~Singleton ()
 Destructor. More...
 
- Static Protected Member Functions inherited from ngl::Singleton< Logger >
static void killSingleton ()
 
- Static Protected Attributes inherited from ngl::Singleton< Logger >
static Loggers_instance
 unique instance of the singleton More...
 

Detailed Description

Definition at line 19 of file Logger.h.

Member Typedef Documentation

typedef boost::iostreams::tee_device<std::ostream, std::ofstream > ngl::Logger::Tee

Definition at line 45 of file Logger.h.

Definition at line 46 of file Logger.h.

Constructor & Destructor Documentation

ngl::Logger::Logger ( )
privatenoexcept

Definition at line 132 of file Logger.cpp.

References ngl::BLUE, m_impl, and ngl::RESET.

ngl::Logger::Logger ( const std::string _fname)
privatenoexcept

Definition at line 140 of file Logger.cpp.

References ngl::BLUE, m_impl, and ngl::RESET.

ngl::Logger::~Logger ( )
private

Definition at line 148 of file Logger.cpp.

References m_impl, and ngl::RESET.

Member Function Documentation

void ngl::Logger::close ( )
noexcept

Definition at line 156 of file Logger.cpp.

References m_impl, and ngl::RESET.

boost::iostreams::stream< Logger::Tee > & ngl::Logger::cout ( )
noexcept

Definition at line 319 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableColours ( )
noexcept

Definition at line 304 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableLineNumbers ( )
noexcept

Definition at line 291 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableLogToConsole ( )
noexcept

Definition at line 244 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableLogToFile ( )
noexcept

Definition at line 236 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableLogToFileAndConsole ( )
noexcept

Definition at line 253 of file Logger.cpp.

References m_impl.

void ngl::Logger::disableTimeStamp ( )
noexcept

Definition at line 299 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableColours ( )
noexcept

Definition at line 309 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableLineNumbers ( )
noexcept

Definition at line 287 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableLogToConsole ( )
noexcept

Definition at line 240 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableLogToFile ( )
noexcept

Definition at line 232 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableLogToFileAndConsole ( )
noexcept

Definition at line 248 of file Logger.cpp.

References m_impl.

void ngl::Logger::enableTimeStamp ( )
noexcept

Definition at line 295 of file Logger.cpp.

References m_impl.

void ngl::Logger::logError ( const char *  fmt,
  ... 
)
noexcept

Definition at line 186 of file Logger.cpp.

References m_impl, and ngl::RED.

void ngl::Logger::logMessage ( const char *  fmt,
  ... 
)
noexcept

Definition at line 165 of file Logger.cpp.

References m_impl.

void ngl::Logger::logWarning ( const char *  fmt,
  ... 
)
noexcept

Definition at line 209 of file Logger.cpp.

References ngl::GREEN, and m_impl.

void ngl::Logger::setColour ( Colours  _c)
noexcept

Definition at line 283 of file Logger.cpp.

References m_impl.

void ngl::Logger::setLineNumberPad ( unsigned int  i)
noexcept

Definition at line 314 of file Logger.cpp.

References m_impl.

void ngl::Logger::setLogFile ( const std::string _fname)
noexcept

Definition at line 258 of file Logger.cpp.

References m_impl.

void ngl::Logger::setTimeFormat ( TimeFormat  _f)
noexcept

Definition at line 325 of file Logger.cpp.

References m_impl, ngl::TIME, ngl::TIMEDATE, and ngl::TIMEDATEDAY.

Friends And Related Function Documentation

friend class Singleton< Logger >
friend

Definition at line 21 of file Logger.h.

Member Data Documentation

std::unique_ptr<Impl> ngl::Logger::m_impl
private

Definition at line 54 of file Logger.h.


The documentation for this class was generated from the following files: