Belle II Software  release-06-02-00
Log Class Reference
Collaboration diagram for Log:

Classes

struct  Pointer
 Memory leak tracking section. More...
 

Static Public Member Functions

static void Summary ()
 Shows the summary of all messages.
 
static void SummaryAtExit ()
 Shows the summary at the end of the program.
 
static void AddDecay (int type)
 Adds the decay to the counter. More...
 
static ostream & Debug (unsigned short int code=0, bool count=true)
 Four logging entries. More...
 
static ostream & Info (bool count=true)
 
static ostream & Warning (bool count=true)
 
static ostream & Error (bool count=true)
 
static void LogInfo (bool flag=true)
 Turns off or on particular types of messages By default, only debugging messages are turned off.
 
static void LogWarning (bool flag=true)
 
static void LogError (bool flag=true)
 
static void LogAll (bool flag=true)
 
static void LogPhlupa (int from, int to)
 
static void LogDebug (unsigned short s=0, unsigned short e=65535)
 Sets the range of debug codes that will be printed. More...
 
static void Assert (bool check, char *text=NULL)
 Asserts logical value. More...
 
static void Fatal (string text, unsigned short int code=0)
 Terminates the program with added default message or 'text'. More...
 
static void Fatal (unsigned short int code=0)
 
static void RedirectOutput (void(*func)(), ostream &where= *out)
 Redirects output to log. More...
 
static void RedirectOutput (ostream &where= *out)
 
static void RevertOutput ()
 WARNING! If You're redirecting more than one function, do not forget to use RevertOutput() afterwards.
 
static void IgnoreFailedAssert (bool flag=true)
 Do not exit when Log::Assert() check is false. More...
 
static void IgnoreRedirection (bool flag=true)
 Ignores redirections of functions' output. More...
 
static void IgnoreFatal (unsigned short s=0, unsigned short e=65535)
 Do not exit when Log::Fatal() with the code within the provided range is called. More...
 
static void SetOutput (ostream *newOut)
 Change the output of the logged messages. More...
 
static void SetOutput (ostream &newOut)
 
static void SetWarningLimit (int x)
 Change the limit of warnings that will be displayed. More...
 
static void PHOERR (int IMES, const char *TEXT, double DATA)
 Warnings on errors from internal part of PHOTOS (originally in F77)
 
static void PHOREP ()
 Final report of warnings from internal part of PHOTOS (originally in F77)
 

Static Protected Attributes

static streambuf * bCout = cout.rdbuf()
 
static streambuf * bCerr = cerr.rdbuf()
 
static ostream * out = &cout
 
static stringstream buf
 
static int warnLimit = 100
 
static int decays [4] = {0}
 
static int dCount = 0
 
static int dRangeS = 65535
 
static int dRangeE = 65534
 
static int faCount = 0
 
static int faRangeS = 65535
 
static int faRangeE = 65534
 
static int iCount = 0
 
static int wCount = 0
 
static int eCount = 0
 
static int asCount = 0
 
static int asFailedCount = 0
 
static bool iAction = 1
 
static bool wAction = 1
 
static bool eAction = 1
 
static bool asAction = 1
 
static bool rAction = 1
 
static list< Pointer * > * PointerList = NULL
 

Detailed Description

Definition at line 33 of file Log.h.

Member Function Documentation

◆ AddDecay()

void AddDecay ( int  type)
static

Adds the decay to the counter.

The type is: 0 - gun, 1 - no mothers & grandmothers, 2 - no mothers, 3 - ok.

Definition at line 27 of file Log.cc.

28  {
29  decays[type]++;
30  }

◆ Assert()

void Assert ( bool  check,
char *  text = NULL 
)
static

Asserts logical value.

If the assertion fails, the default message or 'text' will be printed and the program will terminate. Program termination can be suppressed by Log::IgnoreFailedAsserts();

Definition at line 72 of file Log.cc.

◆ Debug()

ostream & Debug ( unsigned short int  code = 0,
bool  count = true 
)
static

Four logging entries.

Usage: Log::Info()<<"Logging some info: "<<8<<" > "<<7.9<<endl; Use Log::Info(false) if You don't want the message to be counted.

Definition at line 32 of file Log.cc.

◆ Fatal()

static void Fatal ( string  text,
unsigned short int  code = 0 
)
static

Terminates the program with added default message or 'text'.

It can be suppressed by Log::IgnoreFatal();

◆ IgnoreFailedAssert()

static void IgnoreFailedAssert ( bool  flag = true)
inlinestatic

Do not exit when Log::Assert() check is false.

The number of failed asserts will be listed in the summary.

Definition at line 93 of file Log.h.

93 { asAction = !flag; }

◆ IgnoreFatal()

static void IgnoreFatal ( unsigned short  s = 0,
unsigned short  e = 65535 
)
inlinestatic

Do not exit when Log::Fatal() with the code within the provided range is called.

The number of ignored fatal errors will be listed in the summary.

Definition at line 101 of file Log.h.

◆ IgnoreRedirection()

static void IgnoreRedirection ( bool  flag = true)
inlinestatic

Ignores redirections of functions' output.

The function will still be called in a normal way.

Definition at line 97 of file Log.h.

◆ LogDebug()

static void LogDebug ( unsigned short  s = 0,
unsigned short  e = 65535 
)
inlinestatic

Sets the range of debug codes that will be printed.

By default, the debug messages are turned off.

Definition at line 66 of file Log.h.

◆ RedirectOutput()

void RedirectOutput ( void(*)()  func,
ostream &  where = *out 
)
static

Redirects output to log.

Redirection can be done for a block of code or for one function only. Redirection can be turned off by using Log::IgnoreRedirection(); If the target is one of the log streams (for example): Log::RedirectOutput( someFunction, Log::Info() ); You can turn the function's messages off by turning the apropriate log entries off. The redirected code will still be executed, only messages are redirected.

Definition at line 90 of file Log.cc.

◆ SetOutput()

static void SetOutput ( ostream *  newOut)
inlinestatic

Change the output of the logged messages.

Log::SetOutput(cerr); //changes the output to cerr Log::SetOutput(new ofstream("log.txt")); //changes the output to a file "log.txt"

Definition at line 106 of file Log.h.

◆ SetWarningLimit()

static void SetWarningLimit ( int  x)
inlinestatic

Change the limit of warnings that will be displayed.

Set to 0 for no limit.

Definition at line 110 of file Log.h.


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