xrootd
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
XrdCl::Log Class Reference

Handle diagnostics. More...

#include <XrdClLog.hh>

Collaboration diagram for XrdCl::Log:
Collaboration graph
[legend]

List of all members.

Public Types

enum  LogLevel {
  NoMsg = 0, ErrorMsg = 1, WarningMsg = 2, InfoMsg = 3,
  DebugMsg = 4, DumpMsg = 5
}
 Log levels. More...

Public Member Functions

 Log ()
 Constructor.
 ~Log ()
void Error (uint64_t topic, const char *format,...)
 Report an error.
void Warning (uint64_t topic, const char *format,...)
 Report a warning.
void Info (uint64_t topic, const char *format,...)
 Print an info.
void Debug (uint64_t topic, const char *format,...)
 Print a debug message.
void Dump (uint64_t topic, const char *format,...)
 Print a dump message.
void Say (LogLevel level, uint64_t topic, const char *format, va_list list)
void SetLevel (LogLevel level)
 Set the level of the messages that should be sent to the destination.
void SetLevel (const std::string &level)
 Set the level of the messages that should be sent to the destination.
void SetOutput (LogOut *output)
 Set the output that should be used.
void SetMask (LogLevel level, uint64_t mask)
 Sets the mask for the topics of messages that should be printed.
void SetMask (const std::string &level, uint64_t mask)
 Sets the mask for the topics of messages that should be printed.
void SetTopicName (uint64_t topic, std::string name)
 Map a topic number to a string.
LogLevel GetLevel () const
 Get the log level.

Private Types

typedef std::map< uint64_t,
std::string > 
TopicMap

Private Member Functions

std::string LogLevelToString (LogLevel level)
bool StringToLogLevel (const std::string &strLevel, LogLevel &level)
std::string TopicToString (uint64_t topic)

Private Attributes

LogLevel pLevel
uint64_t pMask [DumpMsg+1]
LogOut * pOutput
TopicMap pTopicMap
uint32_t pTopicMaxLength

Detailed Description

Handle diagnostics.


Member Typedef Documentation

typedef std::map<uint64_t, std::string> XrdCl::Log::TopicMap
private

Member Enumeration Documentation

Log levels.

Enumerator:
NoMsg 

report nothing

ErrorMsg 

report errors

WarningMsg 

report warnings

InfoMsg 

print info

DebugMsg 

print debug info

DumpMsg 

print details of the request and responses


Constructor & Destructor Documentation

XrdCl::Log::Log ( )
inline

Constructor.

References DumpMsg, pMask, and pOutput.

XrdCl::Log::~Log ( )
inline

References pOutput.


Member Function Documentation

void XrdCl::Log::Debug ( uint64_t  topic,
const char *  format,
  ... 
)
inline

Print a debug message.

References DebugMsg, likely, pLevel, pMask, Say(), and unlikely.

Referenced by XrdCl::PollerBuiltIn::AddSocket(), XrdCl::PollerLibEvent::AddSocket(), XrdCl::FileStateHandler::AfterForkChild(), XrdCl::CheckSumManager::Calculate(), XrdCl::ThirdPartyCopyJob::CanDo(), XrdCl::Channel::Channel(), XrdCl::Utils::CheckTPC(), XrdCl::ForkHandler::Child(), XrdCl::ClassicCopyJob::ClassicCopyJob(), XrdCl::AsyncSocketHandler::Close(), XrdCl::FileStateHandler::Close(), XrdCl::AsyncSocketHandler::Connect(), XrdCl::PollerFactory::CreatePoller(), XrdCl::XRootDTransport::DoAuthentication(), DoLS(), XrdCl::FSExecutor::Execute(), forkAndRead(), XrdCl::XRootDTransport::GenerateBind(), XrdCl::XRootDTransport::GenerateInitialHS(), XrdCl::XRootDTransport::GenerateInitialHSProtocol(), XrdCl::XRootDTransport::GenerateLogIn(), XrdCl::XRootDTransport::GetCredentials(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetMonitor(), XrdCl::Env::GetString(), RandomHandler::HandleConnection(), RandomPumpHandler::HandleConnection(), XrdClTests::Server::HandleConnections(), XrdCl::PollerLibEvent::Initialize(), XrdCl::DefaultEnv::Initialize(), XrdCl::Utils::LogHostAddresses(), MonitorTest::MonitorTest(), XrdCl::XRootDTransport::MultiplexSubStream(), XrdCl::FileStateHandler::OnClose(), XrdCl::Stream::OnConnect(), XrdCl::AsyncSocketHandler::OnConnectionReturn(), XrdCl::Stream::OnError(), XrdCl::FileStateHandler::OnOpen(), XrdCl::FileStateHandler::Open(), XrdCl::ForkHandler::Parent(), XrdCl::ForkHandler::Prepare(), XrdCl::CopyProcess::Prepare(), XrdCl::XRootDTransport::ProcessBindResp(), XrdCl::XRootDTransport::ProcessLogInResp(), XrdCl::XRootDTransport::ProcessProtocolResp(), XrdCl::XRootDTransport::ProcessServerHS(), XrdCl::Env::PutInt(), XrdCl::Env::PutString(), XrdCl::FileStateHandler::Read(), XrdCl::TaskManager::RegisterTask(), XrdCl::PollerLibEvent::RemoveSocket(), XrdCl::ClassicCopyJob::Run(), XrdCl::ThirdPartyCopyJob::Run(), runChild(), XrdCl::PollerLibEvent::RunEventLoop(), XrdCl::FileStateHandler::RunRecovery(), XrdCl::TaskManager::RunTasks(), XrdClTests::Server::Setup(), XrdCl::PollerLibEvent::Start(), XrdCl::JobManager::Start(), XrdCl::TaskManager::Start(), XrdClTests::Server::Start(), XrdCl::FileStateHandler::Stat(), XrdCl::PollerBuiltIn::Stop(), XrdCl::PollerLibEvent::Stop(), XrdCl::JobManager::Stop(), XrdCl::TaskManager::Stop(), XrdClTests::Server::Stop(), XrdCl::FileStateHandler::Sync(), XrdCl::ThirdPartyCopyJob::ThirdPartyCopyJob(), XrdCl::FileStateHandler::Truncate(), XrdCl::TaskManager::UnregisterTask(), XrdCl::FileStateHandler::VectorRead(), XrdCl::FileStateHandler::Write(), XrdClGetMonitor(), and XrdCl::Stream::~Stream().

void XrdCl::Log::Dump ( uint64_t  topic,
const char *  format,
  ... 
)
inline

Print a dump message.

References DumpMsg, likely, pLevel, pMask, Say(), and unlikely.

Referenced by XrdCl::FileSystem::AssignLoadBalancer(), XrdCl::PollerLibEvent::EnableReadNotification(), XrdCl::PollerLibEvent::EnableWriteNotification(), XrdCl::XRootDMsgHandler::Examine(), XrdCl::FSExecutor::Execute(), XrdCl::FileStateHandler::FailMessage(), XrdCl::URL::FromString(), XrdCl::CheckSumManager::GetCalculator(), XrdCl::Utils::GetLocalCheckSum(), XrdCl::Utils::GetRemoteCheckSum(), RandomHandler::HandleConnection(), RandomPumpHandler::HandleConnection(), XrdCl::PollerLibEvent::Initialize(), XrdCl::FileStateHandler::OnClose(), XrdCl::Stream::OnIncoming(), XrdCl::AsyncSocketHandler::OnRead(), XrdCl::Stream::OnReadyToWrite(), XrdCl::FileStateHandler::OnStateError(), XrdCl::FileStateHandler::OnStateResponse(), XrdCl::XRootDMsgHandler::OnStatusReady(), XrdCl::XRootDMsgHandler::OnStreamEvent(), XrdCl::AsyncSocketHandler::OnWrite(), XrdCl::XRootDMsgHandler::ParseResponse(), XrdCl::XRootDMsgHandler::Process(), XrdCl::AsyncSocketHandler::ReadMessage(), XrdCl::XRootDMsgHandler::ReadRawReadV(), XrdCl::FileStateHandler::RecoverMessage(), XrdCl::FileStateHandler::ReOpenFileAtServer(), XrdCl::FileStateHandler::ReWriteFileHandle(), XrdCl::TaskManager::RunTasks(), XrdCl::Stream::Send(), XrdCl::FileSystem::Send(), XrdCl::MessageUtils::SendMessage(), XrdCl::PollerLibEvent::Stop(), XrdCl::JobManager::StopWorkers(), XrdCl::FileStateHandler::TimeOutRequests(), XrdCl::XRootDMsgHandler::UnPackReadVResponse(), and XrdCl::AsyncSocketHandler::WriteCurrentMessage().

void XrdCl::Log::Error ( uint64_t  topic,
const char *  format,
  ... 
)
inline

Report an error.

References ErrorMsg, pLevel, pMask, Say(), and unlikely.

Referenced by XrdCl::FSExecutor::AddCommand(), XrdCl::PollerBuiltIn::AddSocket(), XrdCl::PollerLibEvent::AddSocket(), XrdCl::CheckSumManager::Calculate(), XrdCl::ThirdPartyCopyJob::CanDo(), XrdCl::Utils::CheckTPC(), XrdCl::AsyncSocketHandler::Connect(), XrdCl::PollerFactory::CreatePoller(), XrdCl::XRootDTransport::DoAuthentication(), DoCD(), DoChMod(), DoLocate(), DoLS(), DoMkDir(), DoMv(), DoQuery(), DoRm(), DoRmDir(), DoStat(), DoStatVFS(), DoTruncate(), XrdCl::Stream::EnableLink(), XrdCl::PollerLibEvent::EnableReadNotification(), XrdCl::PollerLibEvent::EnableWriteNotification(), XrdCl::FSExecutor::Execute(), XrdCl::FileStateHandler::FailMessage(), XrdCl::URL::FromString(), XrdCl::XRootDTransport::GetAuthHandler(), XrdCl::CheckSumManager::GetCalculator(), XrdCl::PostMaster::GetChannel(), XrdCl::XRootDTransport::GetCredentials(), XrdCl::Utils::GetLocalCheckSum(), XrdCl::DefaultEnv::GetMonitor(), RandomHandler::HandleConnection(), RandomPumpHandler::HandleConnection(), XrdClTests::Server::HandleConnections(), XrdCl::XRootDMsgHandler::HandleError(), XRootDProtocolHelper::HandleLogin(), XrdCl::XRootDTransport::HandShake(), XrdCl::Env::ImportInt(), XrdCl::PollerLibEvent::Initialize(), XrdCl::DefaultEnv::Initialize(), XrdCl::XRootDTransport::LogErrorResponse(), XrdCl::AsyncSocketHandler::OnConnectionReturn(), XrdCl::Stream::OnFatalError(), XrdCl::AsyncSocketHandler::OnFault(), XrdCl::AsyncSocketHandler::OnFaultWhileHandshaking(), XrdCl::FileStateHandler::OnStateError(), XrdCl::XRootDMsgHandler::OnStatusReady(), XrdCl::FileStateHandler::Open(), XrdCl::XRootDMsgHandler::ParseResponse(), XrdCl::XRootDMsgHandler::Process(), XrdCl::XRootDTransport::ProcessBindResp(), XrdCl::XRootDTransport::ProcessLogInResp(), XrdCl::XRootDTransport::ProcessProtocolResp(), XrdCl::XRootDTransport::ProcessServerHS(), XrdCl::XRootDMsgHandler::ReadRawRead(), XrdCl::XRootDMsgHandler::ReadRawReadV(), XrdCl::PollerLibEvent::RemoveSocket(), XrdCl::XRootDMsgHandler::RewriteRequestRedirect(), XrdCl::ThirdPartyCopyJob::Run(), XrdCl::PollerLibEvent::RunEventLoop(), XrdCl::MessageUtils::SendMessage(), XrdClTests::Server::Setup(), XrdCl::PollerLibEvent::Start(), XrdCl::JobManager::Start(), XrdCl::TaskManager::Start(), XrdClTests::Server::Start(), XrdCl::PollerLibEvent::Stop(), XrdCl::JobManager::Stop(), XrdCl::TaskManager::Stop(), XrdClTests::Server::Stop(), XrdCl::XRootDTransport::StreamAction(), and XrdCl::XRootDMsgHandler::UnPackReadVResponse().

LogLevel XrdCl::Log::GetLevel ( ) const
inline

Get the log level.

References pLevel.

Referenced by XrdCl::XRootDTransport::SetDescription().

void XrdCl::Log::Info ( uint64_t  topic,
const char *  format,
  ... 
)
inline
std::string XrdCl::Log::LogLevelToString ( LogLevel  level)
private

References DebugMsg, DumpMsg, ErrorMsg, InfoMsg, and WarningMsg.

Referenced by Say().

void XrdCl::Log::Say ( LogLevel  level,
uint64_t  topic,
const char *  format,
va_list  list 
)

Always print the message

Parameters:
levellog level
typetopic of the message
formatformat string - the same as in printf
listlist of arguments

References XrdOucTokenizer::GetLine(), LogLevelToString(), pOutput, TopicToString(), and XrdCl::LogOut::Write().

Referenced by Debug(), Dump(), Error(), Info(), and Warning().

void XrdCl::Log::SetLevel ( LogLevel  level)
inline

Set the level of the messages that should be sent to the destination.

References pLevel.

Referenced by XrdCl::DefaultEnv::SetUpLog().

void XrdCl::Log::SetLevel ( const std::string &  level)
inline

Set the level of the messages that should be sent to the destination.

References pLevel, and StringToLogLevel().

void XrdCl::Log::SetMask ( LogLevel  level,
uint64_t  mask 
)
inline

Sets the mask for the topics of messages that should be printed.

References pMask.

Referenced by XrdCl::DefaultEnv::SetUpLog().

void XrdCl::Log::SetMask ( const std::string &  level,
uint64_t  mask 
)
inline

Sets the mask for the topics of messages that should be printed.

References pMask, and StringToLogLevel().

void XrdCl::Log::SetOutput ( LogOut *  output)
inline

Set the output that should be used.

References pOutput.

Referenced by XrdCl::DefaultEnv::SetUpLog().

void XrdCl::Log::SetTopicName ( uint64_t  topic,
std::string  name 
)

Map a topic number to a string.

References pTopicMap, and pTopicMaxLength.

Referenced by XrdCl::DefaultEnv::SetUpLog().

bool XrdCl::Log::StringToLogLevel ( const std::string &  strLevel,
LogLevel &  level 
)
private

References DebugMsg, DumpMsg, ErrorMsg, InfoMsg, and WarningMsg.

Referenced by SetLevel(), and SetMask().

std::string XrdCl::Log::TopicToString ( uint64_t  topic)
private

References pTopicMap, and pTopicMaxLength.

Referenced by Say().

void XrdCl::Log::Warning ( uint64_t  topic,
const char *  format,
  ... 
)
inline

Member Data Documentation

LogLevel XrdCl::Log::pLevel
private
uint64_t XrdCl::Log::pMask[DumpMsg+1]
private

Referenced by Debug(), Dump(), Error(), Info(), Log(), SetMask(), and Warning().

LogOut* XrdCl::Log::pOutput
private

Referenced by Log(), Say(), SetOutput(), and ~Log().

TopicMap XrdCl::Log::pTopicMap
private

Referenced by SetTopicName(), and TopicToString().

uint32_t XrdCl::Log::pTopicMaxLength
private

Referenced by SetTopicName(), and TopicToString().


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