XrdSysLogger Class Reference

#include <XrdSysLogger.hh>

List of all members.

Public Member Functions

 XrdSysLogger (int ErrFD=STDERR_FILENO, int xrotate=1)
 ~XrdSysLogger ()
int Bind (const char *path, int intsec=0)
void Flush ()
int originalFD ()
void Put (int iovcnt, struct iovec *iov)
void setKeep (long long knum)
void setRotate (int onoff)
int Time (char *tbuff)
char * traceBeg ()
char traceEnd ()
int xlogFD ()

Private Member Functions

void putEmsg (char *msg, int msz)
int ReBind (int dorename=1)
void Trim ()

Private Attributes

XrdSysMutex Logger_Mutex
long long eKeep
char TBuff [24]
int eFD
int baseFD
char * ePath
char Filesfx [8]
time_t eNTC
int eInt
time_t eNow
int doLFR

Static Private Attributes

static int extLFD [4]


Detailed Description

Definition at line 28 of file XrdSysLogger.hh.


Constructor & Destructor Documentation

XrdSysLogger::XrdSysLogger ( int  ErrFD = STDERR_FILENO,
int  xrotate = 1 
)

Definition at line 47 of file XrdSysLogger.cc.

References baseFD, Bind(), doLFR, eFD, eInt, eKeep, eNow, eNTC, ePath, F_SETFD, fcntl(), FD_CLOEXEC, getenv(), and STDERR_FILENO.

XrdSysLogger::~XrdSysLogger (  )  [inline]

Definition at line 33 of file XrdSysLogger.hh.

References ePath, and free().


Member Function Documentation

int XrdSysLogger::Bind ( const char *  path,
int  intsec = 0 
)

Definition at line 76 of file XrdSysLogger.cc.

References eInt, eNow, eNTC, ePath, free(), XrdSysTimer::Midnight(), and ReBind().

Referenced by XrdConfig::Configure(), XrdProofdProofServMgr::Create(), main(), XrdROOTMgr::Validate(), and XrdSysLogger().

void XrdSysLogger::Flush (  )  [inline]

Definition at line 42 of file XrdSysLogger.hh.

References eFD, and fsync.

int XrdSysLogger::originalFD (  )  [inline]

Definition at line 46 of file XrdSysLogger.hh.

References baseFD.

Referenced by XrdSysError::baseFD(), and XrdOucStream::Exec().

void XrdSysLogger::Put ( int  iovcnt,
struct iovec iov 
)

Definition at line 101 of file XrdSysLogger.cc.

References eFD, eInt, eNow, eNTC, int, iovec::iov_base, iovec::iov_len, XrdSysMutex::Lock(), Logger_Mutex, ReBind(), Time(), XrdSysMutex::UnLock(), and writev.

Referenced by XrdSysError::Emsg(), and XrdSysError::Say().

void XrdSysLogger::setKeep ( long long  knum  )  [inline]

Definition at line 55 of file XrdSysLogger.hh.

References eKeep.

Referenced by XrdConfig::Configure(), and main().

void XrdSysLogger::setRotate ( int  onoff  )  [inline]

Definition at line 59 of file XrdSysLogger.hh.

References doLFR.

int XrdSysLogger::Time ( char *  tbuff  ) 

Definition at line 136 of file XrdSysLogger.cc.

References eNow, i, localtime_r, XrdSysThread::Num(), and snprintf.

Referenced by Put(), putEmsg(), and traceBeg().

char* XrdSysLogger::traceBeg (  )  [inline]

Definition at line 68 of file XrdSysLogger.hh.

References XrdSysMutex::Lock(), Logger_Mutex, TBuff, and Time().

Referenced by XrdSysError::TBeg().

char XrdSysLogger::traceEnd (  )  [inline]

Definition at line 69 of file XrdSysLogger.hh.

References Logger_Mutex, and XrdSysMutex::UnLock().

Referenced by XrdSysError::TEnd().

int XrdSysLogger::xlogFD (  ) 

Definition at line 158 of file XrdSysLogger.cc.

void XrdSysLogger::putEmsg ( char *  msg,
int  msz 
) [private]

Definition at line 169 of file XrdSysLogger.cc.

References eFD, int, iovec::iov_base, iovec::iov_len, Time(), and writev.

Referenced by Trim().

int XrdSysLogger::ReBind ( int  dorename = 1  )  [private]

Definition at line 193 of file XrdSysLogger.cc.

References close, doLFR, eFD, eInt, eKeep, eNow, eNTC, ePath, F_SETFD, fcntl(), FD_CLOEXEC, Filesfx, i, localtime_r, MAXNAMELEN, open, rename, sprintf(), stat, strcpy(), and Trim().

Referenced by Bind(), and Put().

void XrdSysLogger::Trim (  )  [private]

Definition at line 251 of file XrdSysLogger.cc.

References closedir, eKeep, ePath, free(), MAXNAMELEN, n, opendir, putEmsg(), readdir, rindex, sprintf(), stat, strcpy(), strerror(), and unlink.

Referenced by ReBind().


Member Data Documentation

XrdSysMutex XrdSysLogger::Logger_Mutex [private]

Definition at line 78 of file XrdSysLogger.hh.

Referenced by Put(), traceBeg(), and traceEnd().

int XrdSysLogger::extLFD [static, private]

Definition at line 79 of file XrdSysLogger.hh.

long long XrdSysLogger::eKeep [private]

Definition at line 80 of file XrdSysLogger.hh.

Referenced by ReBind(), setKeep(), Trim(), and XrdSysLogger().

char XrdSysLogger::TBuff[24] [private]

Definition at line 81 of file XrdSysLogger.hh.

Referenced by traceBeg().

int XrdSysLogger::eFD [private]

Definition at line 82 of file XrdSysLogger.hh.

Referenced by Flush(), Put(), putEmsg(), ReBind(), and XrdSysLogger().

int XrdSysLogger::baseFD [private]

Definition at line 83 of file XrdSysLogger.hh.

Referenced by originalFD(), and XrdSysLogger().

char* XrdSysLogger::ePath [private]

Definition at line 84 of file XrdSysLogger.hh.

Referenced by Bind(), ReBind(), Trim(), XrdSysLogger(), and ~XrdSysLogger().

char XrdSysLogger::Filesfx[8] [private]

Definition at line 85 of file XrdSysLogger.hh.

Referenced by ReBind().

time_t XrdSysLogger::eNTC [private]

Definition at line 86 of file XrdSysLogger.hh.

Referenced by Bind(), Put(), ReBind(), and XrdSysLogger().

int XrdSysLogger::eInt [private]

Definition at line 87 of file XrdSysLogger.hh.

Referenced by Bind(), Put(), ReBind(), and XrdSysLogger().

time_t XrdSysLogger::eNow [private]

Definition at line 88 of file XrdSysLogger.hh.

Referenced by Bind(), Put(), ReBind(), Time(), and XrdSysLogger().

int XrdSysLogger::doLFR [private]

Definition at line 89 of file XrdSysLogger.hh.

Referenced by ReBind(), setRotate(), and XrdSysLogger().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1