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:258
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 258 of file XrdClLog.hh.

259  {
260  LogLevel lvl = pLevel.load(std::memory_order_relaxed);
261  return lvl;
262  }
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 248 of file XrdClLog.hh.

249  {
250  uint64_t tpcnb = pTopicMap.rbegin()->first << 1;
251  SetTopicName( tpcnb, topic );
252  return tpcnb;
253  }
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 205 of file XrdClLog.hh.

206  {
207  LogLevel lvl;
208  if( StringToLogLevel( level, lvl ) )
209  SetLevel( lvl );
210  }
void SetLevel(LogLevel level)
Set the level of the messages that should be sent to the destination.
Definition: XrdClLog.hh:193

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 193 of file XrdClLog.hh.

194  {
195 #if __cplusplus >= 201103L
196  pLevel.store(level, std::memory_order_relaxed);
197 #else
198  pLevel = level;
199 #endif
200  }

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 232 of file XrdClLog.hh.

233  {
234  LogLevel lvl;
235  if( StringToLogLevel( level, lvl ) )
236  pMask[lvl] = mask;
237  }

◆ 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 224 of file XrdClLog.hh.

225  {
226  pMask[level] = mask;
227  }

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 215 of file XrdClLog.hh.

216  {
217  delete pOutput;
218  pOutput = output;
219  }

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 267 of file XrdClLog.hh.

268  {
269  pPid = pid;
270  }

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: