Poco

class ArchiveStrategy

Library: Foundation
Package: Logging
Header: Poco/ArchiveStrategy.h

Description

The ArchiveStrategy is used by FileChannel to rename a rotated log file for archiving.

Archived files can be automatically compressed, using the gzip file format.

Inheritance

Known Derived Classes: ArchiveByNumberStrategy, ArchiveByTimestampStrategy

Member Summary

Member Functions: archive, close, compress, exists, moveFile, open

Constructors

ArchiveStrategy

ArchiveStrategy();

Destructor

~ArchiveStrategy virtual

virtual ~ArchiveStrategy();

Member Functions

archive virtual

virtual LogFile * archive(
    LogFile * pFile
) = 0;

Renames the given log file for archiving and creates and returns a new log file. The given LogFile object is deleted.

close

void close();

compress

void compress(
    bool flag = true
);

Enables or disables compression of archived files.

open virtual

virtual LogFile * open(
    LogFile * pFile
) = 0;

Open a new log file and return it.

exists protected

bool exists(
    const std::string & name
);

moveFile protected

void moveFile(
    const std::string & oldName,
    const std::string & newName
);

Variables

_compressingComplete protected

Poco::Condition _compressingComplete;

_compressingCount protected

int _compressingCount;

_rotateMutex protected

Poco::FastMutex _rotateMutex;