The C++ framework for developing highly scalable, high performance servers on Windows platforms.

TTimeChangeAwareRotatingAsyncFileLog Class Template Reference
[Asynchronous I/OInterfacesFileIOLog files and the pluggable logging system]

Inheritance diagram for TTimeChangeAwareRotatingAsyncFileLog:
Collaboration diagram for TTimeChangeAwareRotatingAsyncFileLog:

List of all members.


Detailed Description

template<typename Base>
class JetByteTools::IO::TTimeChangeAwareRotatingAsyncFileLog< Base >

A class that implements JetByteTools::ILogMessages to provide an asynchronous file log that uses overlapped I/O to perform writes to the log file. The log can be set to automatically rotate (i.e. create a new log file) after a set period of time or when the file grows to a particular size. Aware of time changes that occur on the system.

Public Member Functions

 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, IHandleFileCreationFailure &handler, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::IO::IIOPool &pool, JetByteTools::IO::IAllocateBuffers &allocator, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, IHandleFileCreationFailure &handler, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::IO::IIOPool &pool, JetByteTools::IO::IAllocateBuffers &allocator, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::IO::IIOPool &pool, JetByteTools::IO::IAllocateBuffers &allocator, const JetByteTools::Core::IProvideLocalTime &timeProvider, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const JetByteTools::Core::_tstring &filenameBase, IHandleFileCreationFailure &handler, JetByteTools::Core::IQueueTimers &timerQueue, JetByteTools::IO::IIOPool &pool, JetByteTools::IO::IAllocateBuffers &allocator, const JetByteTools::Core::IProvideLocalTime &timeProvider, typename Base::RotationPeriod rotationPeriod=Base::Daily, typename Base::FirstFileTimestamp firstFileTimestamp=Base::IncludeTimestampOnFirstFile, typename Base::EmptyLogFileHandling emptyLogFileHandling=Base::PreserveEmptyLogFiles, ILimitPendingWrites &writeLimiter=CPendingWriteLimiter::NoLimitLimiter, Milliseconds timerChangeAccumulationDelay=0)
 See base class constructor for details.
 TTimeChangeAwareRotatingAsyncFileLog (const TTimeChangeAwareRotatingAsyncFileLog &rhs)
 ~TTimeChangeAwareRotatingAsyncFileLog ()
TTimeChangeAwareRotatingAsyncFileLogoperator= (const TTimeChangeAwareRotatingAsyncFileLog &rhs)

Constructor & Destructor Documentation

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline, explicit]

See base class constructor for details.

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
IHandleFileCreationFailure handler,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline]

See base class constructor for details.

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::IO::IIOPool pool,
JetByteTools::IO::IAllocateBuffers allocator,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline]

See base class constructor for details.

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
IHandleFileCreationFailure handler,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::IO::IIOPool pool,
JetByteTools::IO::IAllocateBuffers allocator,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline]

See base class constructor for details.

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::IO::IIOPool pool,
JetByteTools::IO::IAllocateBuffers allocator,
const JetByteTools::Core::IProvideLocalTime timeProvider,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline]

See base class constructor for details.

TTimeChangeAwareRotatingAsyncFileLog ( const JetByteTools::Core::_tstring filenameBase,
IHandleFileCreationFailure handler,
JetByteTools::Core::IQueueTimers timerQueue,
JetByteTools::IO::IIOPool pool,
JetByteTools::IO::IAllocateBuffers allocator,
const JetByteTools::Core::IProvideLocalTime timeProvider,
typename Base::RotationPeriod  rotationPeriod = Base::Daily,
typename Base::FirstFileTimestamp  firstFileTimestamp = Base::IncludeTimestampOnFirstFile,
typename Base::EmptyLogFileHandling  emptyLogFileHandling = Base::PreserveEmptyLogFiles,
ILimitPendingWrites writeLimiter = CPendingWriteLimiter::NoLimitLimiter,
Milliseconds  timerChangeAccumulationDelay = 0 
) [inline]

See base class constructor for details.


Member Function Documentation


Generated on Sun Sep 12 19:09:39 2021 for The Server Framework - v7.4 by doxygen 1.5.3