Log Class Reference

Collaboration diagram for Log:
Collaboration graph
[legend]

Data Structures

struct  Pointer

Static Public Member Functions

static void Summary ()
static void SummaryAtExit ()
static void AddDecay (int type)
static ostream & Debug (unsigned short int code=0, bool count=true)
static ostream & Info (bool count=true)
static ostream & Warning (bool count=true)
static ostream & Error (bool count=true)
static void LogInfo (bool flag=true)
static void LogWarning (bool flag=true)
static void LogError (bool flag=true)
static void LogAll (bool flag=true)
static void LogDebug (unsigned short s=0, unsigned short e=65535)
static void Assert (bool check, char *text=NULL)
static void Fatal (string text, unsigned short int code=0)
static void Fatal (unsigned short int code=0)
static void RedirectOutput (void(*func)(), ostream &where=*out)
static void RedirectOutput (ostream &where=*out)
static void RevertOutput ()
static void IgnoreFailedAssert (bool flag=true)
static void IgnoreRedirection (bool flag=true)
static void IgnoreFatal (unsigned short s=0, unsigned short e=65535)
static void SetOutput (ostream *newOut)
static void SetOutput (ostream &newOut)
static void SetWarningLimit (int x)

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 31 of file Log.h.


Member Function Documentation

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 25 of file Log.cxx.

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 73 of file Log.cxx.

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 30 of file Log.cxx.

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();

static void IgnoreFailedAssert ( bool  flag = true  )  [inline, static]

Do not exit when Log::Assert() check is false. The number of failed asserts will be listed in the summary.

Definition at line 89 of file Log.h.

static void IgnoreFatal ( unsigned short  s = 0,
unsigned short  e = 65535 
) [inline, static]

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 97 of file Log.h.

static void IgnoreRedirection ( bool  flag = true  )  [inline, static]

Ignores redirections of functions' output. The function will still be called in a normal way.

Definition at line 93 of file Log.h.

static void LogDebug ( unsigned short  s = 0,
unsigned short  e = 65535 
) [inline, static]

Sets the range of debug codes that will be printed. By default, the debug messages are turned off.

Definition at line 62 of file Log.h.

static void LogInfo ( bool  flag = true  )  [inline, static]

Turns off or on particular types of messages By default, only debugging messages are turned off.

Definition at line 54 of file Log.h.

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 93 of file Log.cxx.

static void RevertOutput (  )  [inline, static]

WARNING! If you're redirecting more than one function, do not forget to use RevertOutput() afterwards.

Definition at line 85 of file Log.h.

static void SetOutput ( ostream *  newOut  )  [inline, static]

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 102 of file Log.h.

static void SetWarningLimit ( int  x  )  [inline, static]

Change the limit of warnings that will be displayed. Set to 0 for no limit.

Definition at line 106 of file Log.h.

void Summary (  )  [static]

Shows the summary of all messages.

Definition at line 113 of file Log.cxx.

static void SummaryAtExit (  )  [inline, static]

Shows the summary at the end of the program.

Definition at line 38 of file Log.h.


The documentation for this class was generated from the following files:
Generated on Sun Oct 20 20:24:17 2013 for C++InterfacetoTauola by  doxygen 1.6.3