SPH
Classes | Macros | Functions
Logger.h File Reference

Logging routines of the run. More...

#include "common/Globals.h"
#include "io/Path.h"
#include "objects/containers/Array.h"
#include "objects/wrappers/AutoPtr.h"
#include "objects/wrappers/Flags.h"
#include "system/Timer.h"
#include <iomanip>

Go to the source code of this file.

Classes

class  ILogger
 Interface providing generic (text, human readable) output of the program. More...
 
struct  Console
 
struct  ScopedConsole
 
class  StdOutLogger
 Standard output logger. More...
 
class  StringLogger
 Logger writing messages to string stream. More...
 
class  FileLogger
 File output logger. More...
 
class  MultiLogger
 Class holding multiple loggers and writing messages to all of them. More...
 
class  NullLogger
 Helper logger that does not write anything. More...
 
class  VerboseLogGuard
 RAII guard writing called functions and their durations to a special verbose logger. More...
 

Macros

#define VERBOSE_LOG   VerboseLogGuard __verboseLogGuard(__PRETTY_FUNCTION__);
 Helper macro, creating. More...
 

Functions

void setVerboseLogger (AutoPtr< ILogger > &&logger)
 Creates a global verbose logger. More...
 

Detailed Description

Logging routines of the run.

Author
Pavel Sevecek (sevecek at sirrah.troja.mff.cuni.cz)
Date
2016-2021

Definition in file Logger.h.

Macro Definition Documentation

◆ VERBOSE_LOG

#define VERBOSE_LOG   VerboseLogGuard __verboseLogGuard(__PRETTY_FUNCTION__);

Helper macro, creating.

VerboseLogGuard with name of the current function.

Definition at line 242 of file Logger.h.

Function Documentation

◆ setVerboseLogger()

void setVerboseLogger ( AutoPtr< ILogger > &&  logger)

Creates a global verbose logger.

Provided logger is stored and subsequently used by all VerboseLogGuard objects. There can be only one logger at the same time. Verbose logging can be disabled by passing nullptr into the function.

Definition at line 121 of file Logger.cpp.