Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4Log Class Reference

This class handles all logging messages inside Go4. More...

#include <TGo4Log.h>

List of all members.

Public Types

enum  { fguMESLEN = __MESSAGETEXTLENGTH__ }
 Maximum message length allowd. More...

Public Member Functions

virtual ~TGo4Log ()

Static Public Member Functions

static TGo4LogInstance ()
static void SetIgnoreLevel (Int_t level)
 Define threshold for output.
static Int_t GetIgnoreLevel ()
 Get threshold for output.
static void OutputEnable (Bool_t on=kTRUE)
 switch output on or off
static Bool_t IsOutputEnabled ()
 get current output state
static void LogfileEnable (Bool_t on=kTRUE)
 switch writing to logfile on or off
static Bool_t IsLogfileEnabled ()
 get current logfile state
static void AutoEnable (Bool_t on=kTRUE)
 set boolean for user action
static Bool_t IsAutoEnabled ()
 get current user boolean
static void OpenLogfile (const char *name=0, const char *headercomment=0, Bool_t appendmode=kFALSE)
 Open file of name for logmessage output.
static void CloseLogfile ()
 Close logfile if existing.
static const char * GetLogname ()
 get name of last opened logfile
static const char * Message (Int_t prio, const char *text,...)
 Display a message.
static void Debug (const char *text,...)
 User shortcut for message with prio 0.
static void Info (const char *text,...)
 User shortcut for message with prio 1.
static void Warn (const char *text,...)
 User shortcut for message with prio 2.
static void Error (const char *text,...)
 User shortcut for message with prio 3.
static void WriteLogfile (const char *text, Bool_t withtime=kTRUE)
 Write text to current logfile if this is open.
static void set_trace_level (int)
 dummy for compatibility
static void SetTracePriority (int)
 dummy for compatibility
static void StartTracing ()
 For backward compatibility.
static void StopTracing ()
 For backward compatibility.

Static Public Attributes

static const char * fgcLEFT = "GO4-"
 Prompt character left side.
static const char * fgcRIGHT = " "
 Prompt character right side.
static const char * fgcDEBUG = "d"
 System debug message indicator.
static const char * fgcINFO = "*"
 Info message indicator.
static const char * fgcWARN = "#"
 Warning message indicator.
static const char * fgcERR = "!"
 Error message indicator.
static const char * fgcDEFAULTLOG = "go4logfile.txt"
 Name of default logfile.

Private Member Functions

 TGo4Log ()

Static Private Attributes

static TGo4LogfgxInstance = 0
static TMutex * fgxMutex = 0
 we use own mutex to protect the logging instance
static Int_t fgiIgnoreLevel = 1
 all Messages with lower level are suppressed
static Bool_t fgbOutputEnabled = kTRUE
 General switch on/off log output.
static Bool_t fgbLogfileEnabled = kTRUE
 General switch on/off log file output.
static Bool_t fgbAutoMode = kFALSE
 User boolean to write log on demand or not.
static char fgcMessagetext [__MESSAGETEXTLENGTH__]
 Keeps latest message with all format indicators.
static void * fgxLogfile = 0
 optional logfile to store messages with time
static TString fgxLogName = TGo4Log::fgcDEFAULTLOG
 Name of last logfile set.


Detailed Description

This class handles all logging messages inside Go4.

Should replace the previous Trace mechanism.

Author:
J. Adamczewski
Since:
17-jun-2003

Definition at line 41 of file TGo4Log.h.


Member Enumeration Documentation

anonymous enum
 

Maximum message length allowd.

Enumeration values:
fguMESLEN 

Definition at line 143 of file TGo4Log.h.


Constructor & Destructor Documentation

TGo4Log::~TGo4Log  )  [virtual]
 

Definition at line 57 of file TGo4Log.cxx.

References CloseLogfile().

TGo4Log::TGo4Log  )  [private]
 

Definition at line 46 of file TGo4Log.cxx.

References fgcDEFAULTLOG, fgxMutex, LogfileEnable(), and OpenLogfile().

Referenced by Instance().


Member Function Documentation

TGo4Log * TGo4Log::Instance  )  [static]
 

Definition at line 62 of file TGo4Log.cxx.

References fgxInstance, and TGo4Log().

Referenced by Debug(), Error(), Info(), main(), Message(), StartTracing(), StopTracing(), and Warn().

void TGo4Log::SetIgnoreLevel Int_t  level  )  [static]
 

Define threshold for output.

Definition at line 174 of file TGo4Log.cxx.

References fgiIgnoreLevel.

Referenced by TGo4MainWindow::LogSettingsSlot(), main(), StartTracing(), and StopTracing().

Int_t TGo4Log::GetIgnoreLevel  )  [static]
 

Get threshold for output.

Definition at line 181 of file TGo4Log.cxx.

References fgiIgnoreLevel.

Referenced by TGo4ThreadHandler::DumpThreads(), TGo4Analysis::Process(), and TGo4AnalysisMainRunnable::Run().

void TGo4Log::OutputEnable Bool_t  on = kTRUE  )  [static]
 

switch output on or off

Definition at line 192 of file TGo4Log.cxx.

References fgbOutputEnabled.

Referenced by TGo4MainWindow::LogSettingsSlot(), TGo4Analysis::SendMessageToGUI(), and TGo4Task::SendStatusMessage().

Bool_t TGo4Log::IsOutputEnabled  )  [static]
 

get current output state

Definition at line 199 of file TGo4Log.cxx.

References fgbOutputEnabled.

Referenced by TGo4Analysis::SendMessageToGUI(), and TGo4Task::SendStatusMessage().

void TGo4Log::LogfileEnable Bool_t  on = kTRUE  )  [static]
 

switch writing to logfile on or off

Definition at line 204 of file TGo4Log.cxx.

References fgbLogfileEnabled.

Referenced by TGo4MainWindow::LogSettingsSlot(), main(), OpenLogfile(), and TGo4Log().

Bool_t TGo4Log::IsLogfileEnabled  )  [static]
 

get current logfile state

Definition at line 210 of file TGo4Log.cxx.

References fgbLogfileEnabled.

void TGo4Log::AutoEnable Bool_t  on = kTRUE  )  [static]
 

set boolean for user action

Definition at line 215 of file TGo4Log.cxx.

References fgbAutoMode.

Referenced by TGo4MainWindow::LogSettingsSlot().

Bool_t TGo4Log::IsAutoEnabled  )  [static]
 

get current user boolean

Definition at line 221 of file TGo4Log.cxx.

References fgbAutoMode.

Referenced by TGo4MainWindow::StatusMessage().

void TGo4Log::OpenLogfile const char *  name = 0,
const char *  headercomment = 0,
Bool_t  appendmode = kFALSE
[static]
 

Open file of name for logmessage output.

If name=0, use defaultname containing pid. Optionally, headercomment text is set at beginning of file. If appendmode is true, existing file of same name is reused and extended by new messages.

Definition at line 227 of file TGo4Log.cxx.

References CloseLogfile(), fguMESLEN, fgxLogfile, fgxLogName, LogfileEnable(), and WriteLogfile().

Referenced by TGo4MainWindow::LogSettingsSlot(), main(), and TGo4Log().

void TGo4Log::CloseLogfile  )  [static]
 

Close logfile if existing.

Definition at line 316 of file TGo4Log.cxx.

References fgxLogfile.

Referenced by OpenLogfile(), and ~TGo4Log().

const char * TGo4Log::GetLogname  )  [static]
 

get name of last opened logfile

Definition at line 186 of file TGo4Log.cxx.

References fgxLogName.

const char * TGo4Log::Message Int_t  prio,
const char *  text,
  ...
[static]
 

Display a message.

Argument pri defines message priority: 0: debug / trace output 1: info message 2: warning message >=3: error message Method returns formatted message string as printed out for further use

Definition at line 70 of file TGo4Log.cxx.

References fgbLogfileEnabled, fgbOutputEnabled, fgcDEBUG, fgcERR, fgcINFO, fgcLEFT, fgcMessagetext, fgcRIGHT, fgcWARN, fgiIgnoreLevel, fguMESLEN, Instance(), and WriteLogfile().

Referenced by Debug(), Error(), TGo4AbstractInterface::ExecuteLine(), TGo4ExportManager::Export(), TGo4ExportManager::ExportASCII(), TGo4BrowserProxy::ExportItemsTo(), TGo4ExportManager::ExportRadware(), TGo4ExportManager::ExportRoot(), TGo4ExportManager::ExportXML(), TGo4UserException::Handle(), Info(), TGo4Condition::Print(), TGo4Marker::PrintMarker(), TGo4Analysis::SendMessageToGUI(), TGo4Task::SendStatusMessage(), TGo4MainWindow::StatusMessage(), and Warn().

void TGo4Log::Debug const char *  text,
  ...
[static]
 

User shortcut for message with prio 0.

Definition at line 122 of file TGo4Log.cxx.

References fgiIgnoreLevel, fguMESLEN, Instance(), and Message().

Referenced by TGo4BufferQueue::AddBuffer(), TGo4ClientTask::AddLocalCommand(), TGo4SimpleEvent::AddSubEvent(), TGo4MbsSource::BuildMbsEvent(), TGo4MbsSource::BuildMbsSubEvent(), TGo4Thread::Cancel(), TGo4TaskHandlerRunnable::CheckStopBuffer(), TGo4TaskManager::ClientLogin(), TGo4TaskHandler::Connect(), TGo4TaskHandler::ConnectClientChannel(), TGo4HistogramServer::ConnectObjectClient(), TGo4ObjClient::ConnectServer(), TGo4TaskHandler::ConnectServerChannel(), TGo4AnalysisClient::Constructor(), TGo4EventServerFactory::CreateEventSource(), TGo4EventServerFactory::CreateEventStore(), TGo4EventServerFactory::CreateInputEvent(), TGo4TaskHandler::DisConnect(), TGo4TaskManager::DisConnectClient(), TGo4ThreadHandler::DumpThreads(), TGo4ComAction2::ExeCom(), TGo4ComAction1::ExeCom(), TGo4ComStop::ExeCom(), TGo4ComStart::ExeCom(), TGo4ComServerQuit::ExeCom(), TGo4ComRemoveClient::ExeCom(), TGo4ComQuit::ExeCom(), TGo4ComMasterQuit::ExeCom(), TGo4ComExecLine::ExeCom(), TGo4ComDisconnectSlave::ExeCom(), TGo4ComSetProtections::ExeCom(), TGo4ComSetPrintEvent::ExeCom(), TGo4ComSetObject::ExeCom(), TGo4ComSetAnalysisStatus::ExeCom(), TGo4ComSaveAnalysisStatus::ExeCom(), TGo4ComPrintHistograms::ExeCom(), TGo4ComPrintDynList::ExeCom(), TGo4ComPrintConditions::ExeCom(), TGo4ComLoadAnalysisStatus::ExeCom(), TGo4ComInitAnalysis::ExeCom(), TGo4ComGetObjectStatus::ExeCom(), TGo4ComGetNamesList::ExeCom(), TGo4ComGetEnvelope::ExeCom(), TGo4ComGetCurrentEvent::ExeCom(), TGo4ComGetAnalysisStatus::ExeCom(), TGo4ComDeleteObject::ExeCom(), TGo4ComClearObject::ExeCom(), TGo4ComAutosave::ExeCom(), TGo4ComAddTreeHistogram::ExeCom(), TYYYRawEvent::Fill(), TGo4MbsEvent::Fill(), TGo4AnalysisProxy::GetLaunchString(), TGo4Task::GetStatus(), TGo4TerminateException::Handle(), TGo4TaskHandlerAbortException::Handle(), TGo4RuntimeException::Handle(), TGo4Exception::Handle(), TGo4ControlException::Handle(), TGo4EventSourceException::Handle(), TGo4DynamicListException::Handle(), TGo4MbsEvent::Init(), TGo4ThreadManager::Initialization(), TGo4Task::Initialization(), TGo4CommandInvoker::Invoke(), TGo4Task::NextStatus(), TGo4AppControlTimer::Notify(), TGo4Socket::Open(), TGo4TreeSource::Open(), TGo4MbsSource::Open(), TGo4MbsFile::OpenFile(), TGo4Runnable::PostRun(), TGo4Runnable::PreRun(), TGo4SimpleSubEvent::PrintEvent(), TGo4SimpleEvent::PrintEvent(), TGo4EventElement::PrintEvent(), TGo4ServerTask::Quit(), TGo4ClientTask::Quit(), TGo4MbsSubEvent::ReAllocate(), TGo4Socket::ReceiveBuffer(), TGo4ObjClient::ReceiveBuffer(), TGo4Thread::ReCreate(), TGo4Socket::Recv(), TGo4Socket::RecvRaw(), TGo4ServerTask::RemoveClient(), TGo4ServerTask::RemoveCurrentClient(), TGo4TestRunnable::Run(), TGo4StatusRunnable::Run(), TGo4DataRunnable::Run(), TGo4CommandRunnable::Run(), TGo4Socket::Send(), TGo4AnalysisClient::SendAnalysisClientStatus(), TGo4AnalysisClient::SendAnalysisStatus(), TGo4Socket::SendBuffer(), TGo4AnalysisClient::SendNamesList(), TGo4Task::SendObject(), TGo4HistogramServer::SendObject(), TGo4Task::SendStatus(), TGo4ServerTask::SendStatus(), TGo4Task::SendStatusBuffer(), TGo4ServerTask::SendStatusBuffer(), TGo4TaskManager::ServeClient(), TGo4TaskHandler::ServerRequest(), TGo4ServerTask::SetCurrentTask(), TGo4CommandProtoList::ShowCommands(), TGo4ServerTask::Shutdown(), TGo4ExampleClient::Start(), TGo4Slave::Start(), TGo4ExampleServer::StartWorkThreads(), TGo4TaskOwner::StartWorkThreads(), TGo4ExampleClient::Stop(), TGo4Slave::Stop(), TGo4ExampleServer::StopWorkThreads(), TGo4TaskOwner::StopWorkThreads(), TGo4TreeStore::Store(), TGo4FileStore::Store(), TGo4BackStore::Store(), TGo4EventStore::Store(), TGo4ThreadManager::Terminate(), TGo4AnalysisClient::TerminateFast(), TGo4AnalysisClient::TGo4AnalysisClient(), TGo4BackStore::TGo4BackStore(), TGo4DisplayDrawerTimer::TGo4DisplayDrawerTimer(), TGo4DisplayLoggerTimer::TGo4DisplayLoggerTimer(), TGo4ExampleClient::TGo4ExampleClient(), TGo4ExampleServer::TGo4ExampleServer(), TGo4FileStore::TGo4FileStore(), TGo4MainTree::TGo4MainTree(), TGo4MbsEventServer::TGo4MbsEventServer(), TGo4MbsFile::TGo4MbsFile(), TGo4MbsRandom::TGo4MbsRandom(), TGo4MbsStream::TGo4MbsStream(), TGo4MbsTransport::TGo4MbsTransport(), TGo4RevServ::TGo4RevServ(), TGo4Socket::TGo4Socket(), TGo4TaskHandler::TGo4TaskHandler(), TGo4TaskManager::TGo4TaskManager(), TGo4Thread::TGo4Thread(), TGo4ThreadManager::TGo4ThreadManager(), TGo4TreeStore::TGo4TreeStore(), TGo4Runnable::ThreadCatch(), TGo4Thread::Threadfunc(), TGo4Runnable::UnexpectedCatch(), TGo4TaskHandler::WaitThreadStop(), TGo4AnalysisProxy::~TGo4AnalysisProxy(), TGo4MbsSubEvent::~TGo4MbsSubEvent(), and TGo4Thread::~TGo4Thread().

void TGo4Log::Info const char *  text,
  ...
[static]
 

User shortcut for message with prio 1.

Definition at line 135 of file TGo4Log.cxx.

References fgiIgnoreLevel, fguMESLEN, Instance(), and Message().

Referenced by TGo4TaskManager::AddClient(), and TGo4TaskManager::DisConnectClient().

void TGo4Log::Warn const char *  text,
  ...
[static]
 

User shortcut for message with prio 2.

Definition at line 148 of file TGo4Log.cxx.

References fgiIgnoreLevel, fguMESLEN, Instance(), and Message().

Referenced by TGo4TaskManager::AddClient(), TGo4TaskManager::ClientLogin(), TGo4ClientTask::ConnectServer(), TGo4MbsSource::NextEvent(), TGo4Command::RefuseCom(), TGo4WinCond::SetPainter(), TGo4PolyCond::SetPainter(), and TGo4CondArray::SetPainter().

void TGo4Log::Error const char *  text,
  ...
[static]
 

User shortcut for message with prio 3.

Definition at line 161 of file TGo4Log.cxx.

References fguMESLEN, Instance(), and Message().

Referenced by TGo4TaskManager::AddClient(), TGo4ClientTask::ConnectServer(), TGo4AnalysisStepException::Handle(), TXXXCalibPar::ReadDatabase(), TGo4AnalysisClient::TGo4AnalysisClient(), TGo4BackStore::TGo4BackStore(), TGo4FileStore::TGo4FileStore(), and TXXXCalibPar::UpdateFrom().

void TGo4Log::WriteLogfile const char *  text,
Bool_t  withtime = kTRUE
[static]
 

Write text to current logfile if this is open.

Prefix current datime in each line if "withtime" is true

Definition at line 278 of file TGo4Log.cxx.

References fgbLogfileEnabled, fguMESLEN, and fgxLogfile.

Referenced by Message(), and OpenLogfile().

static void TGo4Log::set_trace_level int   )  [inline, static]
 

dummy for compatibility

Definition at line 110 of file TGo4Log.h.

static void TGo4Log::SetTracePriority int   )  [inline, static]
 

dummy for compatibility

Definition at line 113 of file TGo4Log.h.

static void TGo4Log::StartTracing  )  [inline, static]
 

For backward compatibility.

Definition at line 116 of file TGo4Log.h.

References Instance(), and SetIgnoreLevel().

static void TGo4Log::StopTracing  )  [inline, static]
 

For backward compatibility.

Definition at line 119 of file TGo4Log.h.

References Instance(), and SetIgnoreLevel().


Member Data Documentation

const char * TGo4Log::fgcLEFT = "GO4-" [static]
 

Prompt character left side.

Definition at line 26 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcRIGHT = " " [static]
 

Prompt character right side.

Definition at line 28 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcDEBUG = "d" [static]
 

System debug message indicator.

Definition at line 29 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcINFO = "*" [static]
 

Info message indicator.

Definition at line 30 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcWARN = "#" [static]
 

Warning message indicator.

Definition at line 31 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcERR = "!" [static]
 

Error message indicator.

Definition at line 32 of file TGo4Log.cxx.

Referenced by Message().

const char * TGo4Log::fgcDEFAULTLOG = "go4logfile.txt" [static]
 

Name of default logfile.

Definition at line 33 of file TGo4Log.cxx.

Referenced by TGo4Log().

TGo4Log * TGo4Log::fgxInstance = 0 [static, private]
 

Definition at line 42 of file TGo4Log.cxx.

Referenced by Instance().

TMutex * TGo4Log::fgxMutex = 0 [static, private]
 

we use own mutex to protect the logging instance

Definition at line 41 of file TGo4Log.cxx.

Referenced by TGo4Log().

Int_t TGo4Log::fgiIgnoreLevel = 1 [static, private]
 

all Messages with lower level are suppressed

Definition at line 36 of file TGo4Log.cxx.

Referenced by Debug(), GetIgnoreLevel(), Info(), Message(), SetIgnoreLevel(), and Warn().

Bool_t TGo4Log::fgbOutputEnabled = kTRUE [static, private]
 

General switch on/off log output.

Definition at line 37 of file TGo4Log.cxx.

Referenced by IsOutputEnabled(), Message(), and OutputEnable().

Bool_t TGo4Log::fgbLogfileEnabled = kTRUE [static, private]
 

General switch on/off log file output.

Definition at line 38 of file TGo4Log.cxx.

Referenced by IsLogfileEnabled(), LogfileEnable(), Message(), and WriteLogfile().

Bool_t TGo4Log::fgbAutoMode = kFALSE [static, private]
 

User boolean to write log on demand or not.

Definition at line 39 of file TGo4Log.cxx.

Referenced by AutoEnable(), and IsAutoEnabled().

char TGo4Log::fgcMessagetext [static, private]
 

Keeps latest message with all format indicators.

Definition at line 35 of file TGo4Log.cxx.

Referenced by Message().

void * TGo4Log::fgxLogfile = 0 [static, private]
 

optional logfile to store messages with time

Definition at line 40 of file TGo4Log.cxx.

Referenced by CloseLogfile(), OpenLogfile(), and WriteLogfile().

TString TGo4Log::fgxLogName = TGo4Log::fgcDEFAULTLOG [static, private]
 

Name of last logfile set.

Definition at line 44 of file TGo4Log.cxx.

Referenced by GetLogname(), and OpenLogfile().


The documentation for this class was generated from the following files:
Generated on Fri Nov 28 13:01:04 2008 for Go4-v3.04-1 by  doxygen 1.4.2