XRootD
XrdCl::Log Class Reference

Handle diagnostics. More...

#include <XrdClLog.hh>

+ Collaboration diagram for XrdCl::Log:

Public Types

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

Public Member Functions

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

Detailed Description

Handle diagnostics.

Definition at line 100 of file XrdClLog.hh.

Member Enumeration Documentation

◆ LogLevel

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

Definition at line 106 of file XrdClLog.hh.

107  {
108  NoMsg = 0,
109  ErrorMsg = 1,
110  WarningMsg = 2,
111  InfoMsg = 3,
112  DebugMsg = 4,
113  DumpMsg = 5
114  };
@ InfoMsg
print info
Definition: XrdClLog.hh:111
@ NoMsg
report nothing
Definition: XrdClLog.hh:108
@ WarningMsg
report warnings
Definition: XrdClLog.hh:110
@ DebugMsg
print debug info
Definition: XrdClLog.hh:112
@ ErrorMsg
report errors
Definition: XrdClLog.hh:109
@ DumpMsg
print details of the request and responses
Definition: XrdClLog.hh:113

Constructor & Destructor Documentation

◆ Log()

XrdCl::Log::Log ( )
inline

Constructor.

Definition at line 119 of file XrdClLog.hh.

119  : pLevel( NoMsg ), pTopicMaxLength( 18 ), pPid(0)
120  {
121  pOutput = new LogOutCerr();
122  int maxMask = (int)DumpMsg+1;
123  for( int i = 0; i < maxMask; ++i )
124  pMask[i] = 0xffffffffffffffffULL;
125  }

References DumpMsg.

◆ ~Log()

XrdCl::Log::~Log ( )
inline

Definition at line 130 of file XrdClLog.hh.

131  {
132  delete pOutput;
133  }

Member Function Documentation

◆ Debug()

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

Print a debug message.

Definition at line 282 of file XrdClLog.cc.

283  {
284  if( likely( GetLevel() < DebugMsg ) )
285  return;
286 
287  if( unlikely( (topic & pMask[DebugMsg]) == 0 ) )
288  return;
289 
290  va_list argList;
291  va_start( argList, format );
292  Say( DebugMsg, topic, format, argList );
293  va_end( argList );
294  }
#define likely(x)
#define unlikely(x)
LogLevel GetLevel() const
Get the log level.
Definition: XrdClLog.hh:238
void Say(LogLevel level, uint64_t topic, const char *format, va_list list)
Definition: XrdClLog.cc:96

References DebugMsg, GetLevel(), likely, Say(), and unlikely.

Referenced by XrdCl::Channel::Channel(), XrdCl::ClassicCopyJob::ClassicCopyJob(), XrdCl::HttpFilePlugIn::HttpFilePlugIn(), XrdCl::HttpFileSystemPlugIn::HttpFileSystemPlugIn(), XrdCl::Stream::Stream(), XrdCl::ThirdPartyCopyJob::ThirdPartyCopyJob(), XrdCl::TPFallBackCopyJob::TPFallBackCopyJob(), XrdCl::XRootDMsgHandler::XRootDMsgHandler(), XrdCl::Stream::~Stream(), XrdCl::XRootDMsgHandler::~XRootDMsgHandler(), XrdCl::PollerBuiltIn::AddSocket(), XrdCl::FileStateHandler::AfterForkChild(), XrdCl::CheckSumManager::Calculate(), XrdCl::AsyncSocketHandler::CheckHSWait(), XrdCl::FileStateHandler::Checkpoint(), XrdCl::Utils::CheckTPC(), XrdCl::Utils::CheckTPCLite(), child(), XrdCl::ForkHandler::Child(), XrdCl::FileStateHandler::ChkptWrt(), XrdCl::FileStateHandler::ChkptWrtV(), XrdCl::AsyncSocketHandler::Close(), XrdCl::HttpFilePlugIn::Close(), XrdCl::FileStateHandler::Close(), XrdCl::AsyncSocketHandler::Connect(), XrdCl::PollerFactory::CreatePoller(), XrdCl::FileStateHandler::DelXAttr(), XrdCl::HttpFileSystemPlugIn::DirList(), DoLS(), XrdCl::AsyncSocketHandler::DoTlsHandShake(), XrdCl::FSExecutor::Execute(), XrdCl::FileStateHandler::Fcntl(), XrdCl::Stream::ForceError(), XrdCl::InQueue::GetHandlerForMessage(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetMonitor(), XrdCl::Env::GetString(), XrdCl::FileStateHandler::GetXAttr(), XrdCl::AsyncSocketHandler::HandleHandShake(), IndexRemote(), XrdCl::FileStateHandler::ListXAttr(), XrdCl::Utils::LogHostAddresses(), XrdCl::HttpFileSystemPlugIn::MkDir(), XrdCl::XRootDTransport::MultiplexSubStream(), XrdCl::HttpFileSystemPlugIn::Mv(), XrdCl::FileStateHandler::OnClose(), XrdCl::Stream::OnConnect(), XrdCl::AsyncSocketHandler::OnConnectionReturn(), XrdCl::Stream::OnError(), XrdCl::FileStateHandler::OnOpen(), XrdCl::Stream::OnReadTimeout(), XrdCl::XRootDMsgHandler::OnStatusReady(), XrdCl::HttpFilePlugIn::Open(), XrdCl::FileStateHandler::Open(), XrdCl::ZipArchive::OpenArchive(), parent(), XrdCl::ForkHandler::Parent(), XrdCl::FileStateHandler::PgRead(), XrdCl::FileStateHandler::PgReadImpl(), XrdCl::FileStateHandler::PgWriteImpl(), XrdCl::CopyProcess::Prepare(), prepare(), XrdCl::ForkHandler::Prepare(), XrdCl::XRootDMsgHandler::Process(), XrdCl::Utils::ProcessConfigDir(), XrdCl::PlugInManager::ProcessEnvironmentSettings(), XrdCl::Env::PutInt(), XrdCl::Env::PutString(), XrdCl::FileStateHandler::Read(), XrdCl::HttpFilePlugIn::Read(), XrdCl::FileStateHandler::ReadV(), XrdCl::PlugInManager::RegisterDefaultFactory(), XrdCl::PlugInManager::RegisterFactory(), XrdCl::TaskManager::RegisterTask(), XrdCl::InQueue::RemoveMessageHandler(), XrdCl::PollerBuiltIn::RemoveSocket(), XrdCl::HttpFileSystemPlugIn::Rm(), XrdCl::HttpFileSystemPlugIn::RmDir(), XrdCl::ClassicCopyJob::Run(), XrdCl::ThirdPartyCopyJob::Run(), XrdCl::TPFallBackCopyJob::Run(), XrdCl::TaskManager::RunTasks(), XrdCl::FileStateHandler::SetXAttr(), XrdCl::JobManager::Start(), XrdCl::PollerBuiltIn::Start(), XrdCl::TaskManager::Start(), XrdCl::HttpFilePlugIn::Stat(), XrdCl::HttpFileSystemPlugIn::Stat(), XrdCl::LocalFileHandler::Stat(), XrdCl::FileStateHandler::Stat(), XrdCl::JobManager::Stop(), XrdCl::PollerBuiltIn::Stop(), XrdCl::TaskManager::Stop(), XrdCl::HttpFilePlugIn::Sync(), XrdCl::FileStateHandler::Sync(), XrdCl::FileStateHandler::Truncate(), XrdCl::FileStateHandler::TryOtherServer(), XrdCl::TaskManager::UnregisterTask(), XrdCl::HttpFilePlugIn::VectorRead(), XrdCl::FileStateHandler::VectorRead(), XrdCl::FileStateHandler::VectorWrite(), XrdCl::FileStateHandler::Visa(), XrdCl::FileStateHandler::Write(), XrdCl::HttpFilePlugIn::Write(), XrdCl::XRootDMsgHandler::WriteMessageBody(), and XrdCl::FileStateHandler::WriteV().

+ Here is the call graph for this function:

◆ Dump()

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

Print a dump message.

Definition at line 299 of file XrdClLog.cc.

300  {
301  if( likely( GetLevel() < DumpMsg ) )
302  return;
303 
304  if( unlikely( (topic & pMask[DumpMsg]) == 0 ) )
305  return;
306 
307  va_list argList;
308  va_start( argList, format );
309  Say( DumpMsg, topic, format, argList );
310  va_end( argList );
311  }

References DumpMsg, GetLevel(), likely, Say(), and unlikely.

Referenced by XrdCl::ZipArchive::AppendFile(), XrdCl::FileSystemData::AssignLastURL(), XrdCl::FileSystemData::AssignLoadBalancer(), XrdCl::ZipArchive::CloseArchive(), XrdCl::Stream::DisableIfEmpty(), XrdCl::PollerBuiltIn::EnableReadNotification(), XrdCl::PollerBuiltIn::EnableWriteNotification(), XrdCl::XRootDMsgHandler::Examine(), XrdCl::FSExecutor::Execute(), XrdCl::URL::FromString(), XrdCl::CheckSumManager::GetCalculator(), XrdCl::CheckSumHelper::GetCheckSum(), XrdCl::XRootDTransport::GetHeader(), XrdCl::Utils::GetLocalCheckSum(), XrdCl::Utils::GetRemoteCheckSum(), XrdCl::XRootDTransport::IsStreamBroken(), XrdCl::XRootDTransport::IsStreamTTLElapsed(), XrdCl::Utils::LogPropertyList(), main(), XrdCl::XRootDTransport::MessageReceived(), XrdCl::FileStateHandler::OnClose(), XrdCl::Stream::OnIncoming(), XrdCl::Stream::OnReadyToWrite(), XrdCl::FileStateHandler::OnStateError(), XrdCl::FileStateHandler::OnStateResponse(), XrdCl::XRootDMsgHandler::OnStatusReady(), XrdCl::XRootDMsgHandler::OnStreamEvent(), XrdCl::ZipArchive::OpenArchive(), XrdCl::ZipArchive::OpenFile(), XrdCl::XRootDMsgHandler::Process(), XrdCl::AsyncHSReader::Read(), XrdCl::AsyncMsgReader::Read(), XrdCl::AsyncVectorReader::Read(), XrdCl::MessageUtils::RedirectMessage(), XrdCl::TaskManager::RunTasks(), XrdCl::Socket::Send(), XrdCl::Stream::Send(), XrdCl::FileSystemData::Send(), XrdCl::MessageUtils::SendMessage(), XrdCl::FileStateHandler::TimeOutRequests(), and XrdCl::AsyncMsgWriter::Write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Error()

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

Report an error.

Definition at line 231 of file XrdClLog.cc.

232  {
233  if( unlikely( GetLevel() < ErrorMsg ) )
234  return;
235 
236  if( unlikely( (topic & pMask[ErrorMsg]) == 0 ) )
237  return;
238 
239  va_list argList;
240  va_start( argList, format );
241  Say( ErrorMsg, topic, format, argList );
242  va_end( argList );
243  }

References ErrorMsg, GetLevel(), Say(), and unlikely.

Referenced by XrdCl::FileSystem::FileSystem(), xrdcl_proxy::ProxyFactory::ProxyFactory(), XrdCl::FSExecutor::AddCommand(), XrdCl::PollerBuiltIn::AddSocket(), XrdCl::CheckSumManager::Calculate(), XrdCl::Stream::CanCollapse(), XrdCl::Utils::CheckTPC(), XrdCl::Utils::CheckTPCLite(), XrdCl::HttpFilePlugIn::Close(), XrdCl::LocalFileHandler::Close(), XrdCl::ZipArchive::CloseArchive(), XrdCl::PostMaster::CollapseRedirect(), XrdCl::Tls::Connect(), XrdCl::AsyncSocketHandler::Connect(), xrdcl_proxy::ProxyFactory::CreateFileSystem(), XrdCl::RecorderFactory::CreateFileSystem(), XrdCl::PollerFactory::CreatePoller(), XrdCl::HttpFileSystemPlugIn::DirList(), DoCache(), DoCat(), DoCD(), DoChMod(), DoLocate(), DoLS(), DoMkDir(), DoMv(), DoPrepare(), DoQuery(), DoRm(), DoRmDir(), DoSpaceInfo(), DoStat(), DoStatVFS(), DoTail(), DoTruncate(), DoXAttr(), XrdCl::Stream::EnableLink(), XrdCl::PollerBuiltIn::EnableReadNotification(), XrdCl::PollerBuiltIn::EnableWriteNotification(), XrdCl::FSExecutor::Execute(), XrdCl::URL::FromString(), XrdCl::CheckSumManager::GetCalculator(), XrdCl::Utils::GetHostAddresses(), XrdCl::Utils::GetLocalCheckSum(), XrdCl::DefaultEnv::GetMonitor(), XrdCl::XRootDTransport::GetMore(), XrdCl::AsyncSocketHandler::HandleHandShake(), XrdCl::XRootDTransport::HandShake(), XrdCl::Env::ImportInt(), IndexRemote(), XrdCl::CheckSumHelper::Initialize(), XrdCl::XCpCtx::Initialize(), XrdCl::InitTLS(), XrdCl::XRootDMsgHandler::InspectStatusRsp(), XrdCl::XRootDTransport::LogErrorResponse(), main(), XrdCl::XRootDTransport::MessageReceived(), XrdCl::HttpFileSystemPlugIn::MkDir(), XrdCl::HttpFileSystemPlugIn::Mv(), XrdCl::Stream::OnConnectError(), XrdCl::AsyncSocketHandler::OnConnectionReturn(), XrdCl::AsyncSocketHandler::OnFault(), XrdCl::AsyncSocketHandler::OnFaultWhileHandshaking(), XrdCl::FileStateHandler::OnStateError(), XrdCl::XRootDMsgHandler::OnStatusReady(), XrdCl::HttpFilePlugIn::Open(), XrdCl::File::Open(), XrdCl::FileStateHandler::Open(), XrdCl::ZipArchive::OpenArchive(), XrdCl::XRootDMsgHandler::Process(), ProcessStatQuery(), XrdCl::AsyncDiscardReader::Read(), XrdCl::AsyncRawReader::Read(), XrdCl::AsyncVectorReader::Read(), XrdCl::HttpFilePlugIn::Read(), XrdCl::LocalFileHandler::Read(), XrdCl::LocalFileHandler::ReadV(), XrdCl::MessageUtils::RedirectMessage(), XrdCl::PollerBuiltIn::RemoveSocket(), XrdCl::HttpFileSystemPlugIn::Rm(), XrdCl::HttpFileSystemPlugIn::RmDir(), XrdCl::ClassicCopyJob::Run(), XrdCl::MessageUtils::SendMessage(), XrdCl::JobManager::Start(), XrdCl::PollerBuiltIn::Start(), XrdCl::TaskManager::Start(), XrdCl::HttpFilePlugIn::Stat(), XrdCl::HttpFileSystemPlugIn::Stat(), XrdCl::LocalFileHandler::Stat(), XrdCl::JobManager::Stop(), XrdCl::PollerBuiltIn::Stop(), XrdCl::TaskManager::Stop(), XrdCl::LocalFileHandler::Sync(), XrdCl::LocalFileHandler::Truncate(), XrdCl::LocalFileHandler::VectorRead(), XrdCl::HttpFilePlugIn::VectorRead(), XrdCl::LocalFileHandler::VectorWrite(), XrdCl::AsyncHSWriter::Write(), XrdCl::AsyncMsgWriter::Write(), XrdCl::HttpFilePlugIn::Write(), XrdCl::LocalFileHandler::Write(), and XrdCl::LocalFileHandler::WriteV().

+ Here is the call graph for this function:

◆ GetLevel()

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

Get the log level.

Definition at line 238 of file XrdClLog.hh.

239  {
240  LogLevel lvl = pLevel.load(std::memory_order_relaxed);
241  return lvl;
242  }
LogLevel
Log levels.
Definition: XrdClLog.hh:107

Referenced by Debug(), Dump(), Error(), XrdCl::URL::FromString(), XrdCl::XRootDTransport::GenerateDescription(), Info(), XrdCl::Utils::LogPropertyList(), main(), and Warning().

+ Here is the caller graph for this function:

◆ Info()

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

Print an info.

Definition at line 265 of file XrdClLog.cc.

266  {
267  if( likely( GetLevel() < InfoMsg ) )
268  return;
269 
270  if( unlikely( (topic & pMask[InfoMsg]) == 0 ) )
271  return;
272 
273  va_list argList;
274  va_start( argList, format );
275  Say( InfoMsg, topic, format, argList );
276  va_end( argList );
277  }

References GetLevel(), InfoMsg, likely, Say(), and unlikely.

Referenced by XrdCl::PostMaster::CollapseRedirect(), XrdCl::AsyncSocketHandler::DoTlsHandShake(), XrdCl::Env::ImportInt(), XrdCl::Env::ImportString(), IndexRemote(), XrdCl::Stream::OnConnectError(), XrdCl::FileStateHandler::PgWrite(), XrdCl::ClassicCopyJob::Run(), XrdCl::ThirdPartyCopyJob::Run(), and XrdCl::FileStateHandler::Write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterTopic()

uint64_t XrdCl::Log::RegisterTopic ( const std::string &  topic)
inline

Register new topic.

Definition at line 228 of file XrdClLog.hh.

229  {
230  uint64_t tpcnb = pTopicMap.rbegin()->first << 1;
231  SetTopicName( tpcnb, topic );
232  return tpcnb;
233  }
void SetTopicName(uint64_t topic, std::string name)
Map a topic number to a string.
Definition: XrdClLog.cc:163

References SetTopicName().

+ Here is the call graph for this function:

◆ Say()

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

Always print the message

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

Definition at line 96 of file XrdClLog.cc.

100  {
101  //--------------------------------------------------------------------------
102  // Build the user message
103  //--------------------------------------------------------------------------
104  int size = 1024;
105  int ret = 0;
106  char *buffer = 0;
107  while(1)
108  {
109  va_list cp;
110  va_copy( cp, list );
111  buffer = new char[size];
112  ret = vsnprintf( buffer, size, format, cp );
113  va_end( cp );
114 
115  if( ret < 0 )
116  {
117  snprintf( buffer, size, "Error while processing a log message \"%s\" \n", format);
118  pOutput->Write(buffer);
119  delete [] buffer;
120  return;
121  }
122  else if( ret < size )
123  break;
124 
125  size *= 2;
126  delete [] buffer;
127  }
128 
129  //--------------------------------------------------------------------------
130  // Add time and error level
131  //--------------------------------------------------------------------------
132  char now[48];
133  char ts[32];
134  char tz[8];
135  tm tsNow;
136  timeval ttNow;
137 
138  gettimeofday( &ttNow, 0 );
139  localtime_r( &ttNow.tv_sec, &tsNow );
140 
141  strftime( ts, 32, "%Y-%m-%d %H:%M:%S", &tsNow );
142  strftime( tz, 8, "%z", &tsNow );
143  snprintf( now, 48, "%s.%06ld %s", ts, (long int)ttNow.tv_usec, tz );
144 
145  XrdOucTokenizer tok( buffer );
146  char *line = 0;
147  std::ostringstream out;
148  while( (line = tok.GetLine()) )
149  {
150  out << "[" << now << "][" << LogLevelToString( level ) << "]";
151  out << "[" << TopicToString( topic ) << "]";
152  if(pPid) out << "[" << std::setw(5) << pPid << "]";
153  out << " " << line << std::endl;
154  }
155 
156  pOutput->Write( out.str() );
157  delete [] buffer;
158  }
virtual void Write(const std::string &message)=0

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

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

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetLevel() [1/2]

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

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

Definition at line 185 of file XrdClLog.hh.

186  {
187  LogLevel lvl;
188  if( StringToLogLevel( level, lvl ) )
189  SetLevel( lvl );
190  }
void SetLevel(LogLevel level)
Set the level of the messages that should be sent to the destination.
Definition: XrdClLog.hh:173

References SetLevel().

+ Here is the call graph for this function:

◆ SetLevel() [2/2]

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

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

Definition at line 173 of file XrdClLog.hh.

174  {
175 #if __cplusplus >= 201103L
176  pLevel.store(level, std::memory_order_relaxed);
177 #else
178  pLevel = level;
179 #endif
180  }

Referenced by main(), SetLevel(), and XrdCl::DefaultEnv::SetLogLevel().

+ Here is the caller graph for this function:

◆ SetMask() [1/2]

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

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

Definition at line 212 of file XrdClLog.hh.

213  {
214  LogLevel lvl;
215  if( StringToLogLevel( level, lvl ) )
216  pMask[lvl] = mask;
217  }

◆ SetMask() [2/2]

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

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

Definition at line 204 of file XrdClLog.hh.

205  {
206  pMask[level] = mask;
207  }

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

+ Here is the caller graph for this function:

◆ SetOutput()

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

Set the output that should be used.

Definition at line 195 of file XrdClLog.hh.

196  {
197  delete pOutput;
198  pOutput = output;
199  }

Referenced by XrdCl::DefaultEnv::SetLogFile(), and XrdSsiLogger::SetMCB().

+ Here is the caller graph for this function:

◆ SetPid()

void XrdCl::Log::SetPid ( pid_t  pid)
inline

Set pid.

Definition at line 247 of file XrdClLog.hh.

248  {
249  pPid = pid;
250  }

Referenced by child(), and parent().

+ Here is the caller graph for this function:

◆ SetTopicName()

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

Map a topic number to a string.

Definition at line 163 of file XrdClLog.cc.

164  {
165  uint32_t len = name.length();
166  if( len > pTopicMaxLength )
167  {
168  pTopicMaxLength = len;
169  TopicMap::iterator it;
170  for( it = pTopicMap.begin(); it != pTopicMap.end(); ++it )
171  it->second.append( len-it->second.length(), ' ' );
172  }
173  else
174  name.append( pTopicMaxLength-len, ' ' );
175  pTopicMap[topic] = name;
176  }

Referenced by RegisterTopic(), and XrdCl::SetUpLogging().

+ Here is the caller graph for this function:

◆ Warning()

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

Report a warning.

Definition at line 248 of file XrdClLog.cc.

249  {
250  if( unlikely( GetLevel() < WarningMsg ) )
251  return;
252 
253  if( unlikely( (topic & pMask[WarningMsg]) == 0 ) )
254  return;
255 
256  va_list argList;
257  va_start( argList, format );
258  Say( WarningMsg, topic, format, argList );
259  va_end( argList );
260  }

References GetLevel(), Say(), unlikely, and WarningMsg.

Referenced by XrdCl::PollerBuiltIn::AddSocket(), XrdCl::PollerBuiltIn::EnableReadNotification(), XrdCl::PollerBuiltIn::EnableWriteNotification(), XrdCl::XRootDMsgHandler::Examine(), XrdCl::ActionExecutor::Execute(), XrdCl::Stream::OnIncoming(), XrdCl::Stream::OnMessageSent(), XrdCl::FileStateHandler::PgWrite(), XrdCl::XRootDMsgHandler::Process(), XrdCl::ClassicCopyJob::Run(), and XrdCl::Stream::Send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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