25#ifndef __XRD_CL_LOG_HH__
26#define __XRD_CL_LOG_HH__
58 virtual void Write(
const std::string &message ) = 0;
73 bool Open(
const std::string &fileName );
79 virtual void Write(
const std::string &message );
91 virtual void Write(
const std::string &message );
123 for(
int i = 0; i < maxMask; ++i )
124 pMask[i] = 0xffffffffffffffffULL;
138 void Error( uint64_t topic,
const char *format, ... );
143 void Warning( uint64_t topic,
const char *format, ... );
148 void Info( uint64_t topic,
const char *format, ... );
153 void Debug( uint64_t topic,
const char *format, ... );
158 void Dump( uint64_t topic,
const char *format, ... );
168 void Say(
LogLevel level, uint64_t topic,
const char *format, va_list list );
175#if __cplusplus >= 201103L
176 pLevel.store(level, std::memory_order_relaxed);
212 void SetMask(
const std::string &level, uint64_t mask )
230 uint64_t tpcnb =
pTopicMap.rbegin()->first << 1;
Write log messages to stderr.
Definition XrdClLog.hh:89
virtual ~LogOutCerr()
Definition XrdClLog.hh:92
virtual void Write(const std::string &message)
XrdSysMutex pMutex
Definition XrdClLog.hh:94
Write log messages to a file.
Definition XrdClLog.hh:65
void Close()
Close the log file.
int pFileDes
Definition XrdClLog.hh:82
bool Open(const std::string &fileName)
Open the log file.
virtual ~LogOutFile()
Definition XrdClLog.hh:68
virtual void Write(const std::string &message)
LogOutFile()
Definition XrdClLog.hh:67
Interface for logger outputs.
Definition XrdClLog.hh:49
virtual void Write(const std::string &message)=0
virtual ~LogOut()
Definition XrdClLog.hh:51
Handle diagnostics.
Definition XrdClLog.hh:101
bool StringToLogLevel(const std::string &strLevel, LogLevel &level)
void SetLevel(const std::string &level)
Set the level of the messages that should be sent to the destination.
Definition XrdClLog.hh:185
LogLevel
Log levels.
Definition XrdClLog.hh:107
@ 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
uint64_t RegisterTopic(const std::string &topic)
Register new topic.
Definition XrdClLog.hh:228
void SetMask(LogLevel level, uint64_t mask)
Sets the mask for the topics of messages that should be printed.
Definition XrdClLog.hh:204
Log()
Constructor.
Definition XrdClLog.hh:119
LogOut * pOutput
Definition XrdClLog.hh:261
void SetTopicName(uint64_t topic, std::string name)
Map a topic number to a string.
void SetMask(const std::string &level, uint64_t mask)
Sets the mask for the topics of messages that should be printed.
Definition XrdClLog.hh:212
void SetLevel(LogLevel level)
Set the level of the messages that should be sent to the destination.
Definition XrdClLog.hh:173
void Error(uint64_t topic, const char *format,...)
Report an error.
LogLevel GetLevel() const
Get the log level.
Definition XrdClLog.hh:238
std::string TopicToString(uint64_t topic)
uint64_t pMask[DumpMsg+1]
Definition XrdClLog.hh:260
~Log()
Definition XrdClLog.hh:130
void Warning(uint64_t topic, const char *format,...)
Report a warning.
void Dump(uint64_t topic, const char *format,...)
Print a dump message.
std::string LogLevelToString(LogLevel level)
void Info(uint64_t topic, const char *format,...)
Print an info.
void Debug(uint64_t topic, const char *format,...)
Print a debug message.
std::atomic< LogLevel > pLevel
Definition XrdClLog.hh:258
uint32_t pTopicMaxLength
Definition XrdClLog.hh:263
void Say(LogLevel level, uint64_t topic, const char *format, va_list list)
TopicMap pTopicMap
Definition XrdClLog.hh:262
std::map< uint64_t, std::string > TopicMap
Definition XrdClLog.hh:253
pid_t pPid
Definition XrdClLog.hh:264
void SetOutput(LogOut *output)
Set the output that should be used.
Definition XrdClLog.hh:195
void SetPid(pid_t pid)
Set pid.
Definition XrdClLog.hh:247
Definition XrdSysPthread.hh:165
Definition XrdClAction.hh:34