blocxx
|
This class sends log messges to a file, for use when there may be multiple processes logging to the same file. More...
#include <MultiProcessFileAppender.hpp>
Public Member Functions | |
MultiProcessFileAppender (const StringArray &components, const StringArray &categories, const String &filename, const String &pattern, UInt64 maxFileSize, UInt32 maxBackupIndex) | |
All processes that log to filename must use the same values for maxFileSize and maxBackupIndex. | |
virtual | ~MultiProcessFileAppender () |
Static Public Attributes | |
static const unsigned int | NO_MAX_LOG_SIZE = 0 |
Protected Member Functions | |
virtual void | doProcessLogMessage (const String &formattedMessage, const LogMessage &message) const |
Private Attributes | |
String | m_filename |
UInt64 | m_maxFileSize |
unsigned | m_maxBackupIndex |
File | m_log |
File | m_lock |
This class sends log messges to a file, for use when there may be multiple processes logging to the same file.
Definition at line 54 of file MultiProcessFileAppender.hpp.
BLOCXX_NAMESPACE::MultiProcessFileAppender::MultiProcessFileAppender | ( | const StringArray & | components, |
const StringArray & | categories, | ||
const String & | filename, | ||
const String & | pattern, | ||
UInt64 | maxFileSize, | ||
UInt32 | maxBackupIndex | ||
) |
All processes that log to filename must use the same values for maxFileSize and maxBackupIndex.
Definition at line 99 of file MultiProcessFileAppender.cpp.
References BLOCXX_THROW, BLOCXX_NAMESPACE::String::c_str(), m_lock, m_log, BLOCXX_NAMESPACE::FileSystem::openForAppendOrCreateFile(), and BLOCXX_NAMESPACE::FileSystem::openOrCreateFile().
BLOCXX_NAMESPACE::MultiProcessFileAppender::~MultiProcessFileAppender | ( | ) | [virtual] |
Definition at line 127 of file MultiProcessFileAppender.cpp.
void BLOCXX_NAMESPACE::MultiProcessFileAppender::doProcessLogMessage | ( | const String & | formattedMessage, |
const LogMessage & | message | ||
) | const [protected, virtual] |
Implements BLOCXX_NAMESPACE::LogAppender.
Definition at line 131 of file MultiProcessFileAppender.cpp.
References BLOCXX_NAMESPACE::String::c_str(), BLOCXX_NAMESPACE::File::close(), BLOCXX_NAMESPACE::File::flush(), i, BLOCXX_NAMESPACE::String::length(), m_filename, m_lock, m_log, m_maxBackupIndex, m_maxFileSize, BLOCXX_NAMESPACE::FileSystem::openForAppendOrCreateFile(), BLOCXX_NAMESPACE::FileSystem::removeFile(), BLOCXX_NAMESPACE::FileSystem::renameFile(), BLOCXX_NAMESPACE::File::size(), BLOCXX_NAMESPACE::File::swap(), and BLOCXX_NAMESPACE::File::write().
Definition at line 77 of file MultiProcessFileAppender.hpp.
Referenced by doProcessLogMessage().
File BLOCXX_NAMESPACE::MultiProcessFileAppender::m_lock [mutable, private] |
Definition at line 81 of file MultiProcessFileAppender.hpp.
Referenced by doProcessLogMessage(), and MultiProcessFileAppender().
File BLOCXX_NAMESPACE::MultiProcessFileAppender::m_log [mutable, private] |
Definition at line 80 of file MultiProcessFileAppender.hpp.
Referenced by doProcessLogMessage(), and MultiProcessFileAppender().
unsigned BLOCXX_NAMESPACE::MultiProcessFileAppender::m_maxBackupIndex [private] |
Definition at line 79 of file MultiProcessFileAppender.hpp.
Referenced by doProcessLogMessage().
UInt64 BLOCXX_NAMESPACE::MultiProcessFileAppender::m_maxFileSize [private] |
Definition at line 78 of file MultiProcessFileAppender.hpp.
Referenced by doProcessLogMessage().
const unsigned int BLOCXX_NAMESPACE::MultiProcessFileAppender::NO_MAX_LOG_SIZE = 0 [static] |
Definition at line 57 of file MultiProcessFileAppender.hpp.