PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PSystemLogToFile Class Reference

Log system output to a file. More...

#include <syslog.h>

Inheritance diagram for PSystemLogToFile:
Collaboration diagram for PSystemLogToFile:

Classes

struct  RotateInfo
 Information on how to rotate log files. More...
 

Public Member Functions

Construction
 PSystemLogToFile (const PFilePath &filename)
 
Overrides of PSystemLogTarget
virtual void Output (PSystemLog::Level level, const char *msg)
 Log an error into the system log. More...
 
Miscellaneous functions
const PFilePathGetFilePath () const
 Get the path to the file being logged to. More...
 
bool Clear ()
 Clear the log file. More...
 
virtual void SetRotateInfo (const RotateInfo &info, bool force=false)
 Set file rotation template information. More...
 
const RotateInfoGetRotateInfo () const
 Get file rotation template information. More...
 
virtual bool Rotate (bool force)
 Execute a rotation. More...
 
- Public Member Functions inherited from PSystemLogTarget
 PSystemLogTarget ()
 
void SetThresholdLevel (PSystemLog::Level level)
 Set the level at which errors are logged. More...
 
PSystemLog::Level GetThresholdLevel () const
 Get the current level for logging. More...
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
__inline const PObjectPTraceObjectInstance () const
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Protected Member Functions

bool InternalOpen ()
 
- Protected Member Functions inherited from PSystemLogTarget
void OutputToStream (ostream &strm, PSystemLog::Level level, const char *msg)
 Log an error into the specified stream. More...
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 

Protected Attributes

PTextFile m_file
 
RotateInfo m_rotateInfo
 
PMutex m_mutex
 
- Protected Attributes inherited from PSystemLogTarget
PSystemLog::Level m_thresholdLevel
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Static Public Member Functions inherited from PObject
static const char * Class ()
 Get the name of the class as a C string. More...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
- Friends inherited from PObject

Detailed Description

Log system output to a file.

Constructor & Destructor Documentation

PSystemLogToFile::PSystemLogToFile ( const PFilePath filename)

Member Function Documentation

bool PSystemLogToFile::Clear ( )

Clear the log file.

const PFilePath& PSystemLogToFile::GetFilePath ( ) const
inline

Get the path to the file being logged to.

References PFile::GetFilePath(), and m_file.

const RotateInfo& PSystemLogToFile::GetRotateInfo ( ) const
inline

Get file rotation template information.

References m_rotateInfo.

bool PSystemLogToFile::InternalOpen ( )
protected
virtual void PSystemLogToFile::Output ( PSystemLog::Level  level,
const char *  msg 
)
virtual

Log an error into the system log.

Parameters
levelLevel of this message
msgMessage to be logged

Implements PSystemLogTarget.

virtual bool PSystemLogToFile::Rotate ( bool  force)
virtual

Execute a rotation.

If force is false then the file must be larger than RotateInfo::maxSize. If force is true the the file is moved regardless of it's current size.

Note, RotateInfo::maxSize must be non zero and RotateInfo::m_timestamp must be non-empty string for this to operate.

virtual void PSystemLogToFile::SetRotateInfo ( const RotateInfo info,
bool  force = false 
)
virtual

Set file rotation template information.

Parameters
infoNew info for log rotation
forceForce rotation immediately

Member Data Documentation

PTextFile PSystemLogToFile::m_file
protected

Referenced by GetFilePath().

PMutex PSystemLogToFile::m_mutex
protected
RotateInfo PSystemLogToFile::m_rotateInfo
protected

Referenced by GetRotateInfo().


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