blocxx
BLOCXX_NAMESPACE::FileAppender Class Reference

This class sends log messges to a file. More...

#include <FileAppender.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::FileAppender:
BLOCXX_NAMESPACE::LogAppender BLOCXX_NAMESPACE::IntrusiveCountableBase

Public Member Functions

 FileAppender (const StringArray &components, const StringArray &categories, const char *filename, const String &pattern, UInt64 maxFileSize, unsigned int maxBackupIndex, bool flushLog=true)
 
virtual ~FileAppender ()
 
- Public Member Functions inherited from BLOCXX_NAMESPACE::LogAppender
virtual ~LogAppender ()
 
void logMessage (const LogMessage &message) const
 Log a message using the specified component and category.
 
bool categoryIsEnabled (const String &category) const
 
bool componentAndCategoryAreEnabled (const String &component, const String &category) const
 
ELogLevel getLogLevel () const
 

Static Public Attributes

static UInt64 const NO_MAX_LOG_SIZE = 0
 
static unsigned int const NO_MAX_BACKUP_INDEX = 0
 
static const GlobalString STR_DEFAULT_MESSAGE_PATTERN = { "%d{%a %b %d %H:%M:%S %Y} [%t]: %m", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 
- Static Public Attributes inherited from BLOCXX_NAMESPACE::LogAppender
static const GlobalStringArray ALL_COMPONENTS = { "*", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 Pass to createLogAppender to indicate all components.
 
static const GlobalStringArray ALL_CATEGORIES = { "*", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 Pass to createLogAppender to indicate all categories.
 
static const GlobalString STR_TTCC_MESSAGE_FORMAT = { "%r [%t] %-5p %c - %m", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 The Log4j TTCC message format - TTCC is acronym for Time Thread Category Component.
 
static const GlobalString TYPE_SYSLOG = { "syslog", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 String of the type of the syslog log appender.
 
static const GlobalString TYPE_STDERR = { "stderr", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 String of the type of the stderr log appender.
 
static const GlobalString TYPE_FILE = { "file", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 String of the type of the file log appender.
 
static const GlobalString TYPE_MPFILE = { "mpfile", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 String of the type of the multi-process file log appender.
 
static const GlobalString TYPE_NULL = { "null", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
 String of the type of the null log appender.
 

Protected Member Functions

virtual void doProcessLogMessage (const String &formattedMessage, const LogMessage &message) const
 
- Protected Member Functions inherited from BLOCXX_NAMESPACE::LogAppender
 LogAppender (const StringArray &components=ALL_COMPONENTS, const StringArray &categories=ALL_CATEGORIES, const String &pattern=STR_TTCC_MESSAGE_FORMAT)
 
- Protected Member Functions inherited from BLOCXX_NAMESPACE::IntrusiveCountableBase
 IntrusiveCountableBase ()
 
 IntrusiveCountableBase (const IntrusiveCountableBase &)
 
IntrusiveCountableBaseoperator= (const IntrusiveCountableBase &)
 
virtual ~IntrusiveCountableBase ()
 

Private Attributes

String m_filename
 
UInt64 m_maxFileSize
 
unsigned int m_maxBackupIndex
 
std::ofstream m_log
 
bool m_flushLog
 

Additional Inherited Members

- Static Public Member Functions inherited from BLOCXX_NAMESPACE::LogAppender
static LogAppenderRef getCurrentLogAppender ()
 Get a copy of the per thread LogAppenderRef or if not set, the default one.
 
static LogAppenderRef getDefaultLogAppender ()
 Returns a copy of default LogAppenderRef.
 
static bool setDefaultLogAppender (const LogAppenderRef &ref)
 Set the default global LogAppenderRef.
 
static LogAppenderRef getThreadLogAppender ()
 Returns a copy of the thread LogAppenderRef.
 
static bool setThreadLogAppender (const LogAppenderRef &ref)
 Set a per thread LogAppenderRef that overrides the default one.
 
static LogAppenderRef createLogAppender (const String &name, const StringArray &components, const StringArray &categories, const String &messageFormat, const String &type, const LoggerConfigMap &configItems)
 Create a concrete log appender depending on the type string passed in.
 

Detailed Description

This class sends log messges to a file.

Definition at line 54 of file FileAppender.hpp.

Constructor & Destructor Documentation

◆ FileAppender()

BLOCXX_NAMESPACE::FileAppender::FileAppender ( const StringArray & components,
const StringArray & categories,
const char * filename,
const String & pattern,
UInt64 maxFileSize,
unsigned int maxBackupIndex,
bool flushLog = true )

Definition at line 54 of file FileAppender.cpp.

References BLOCXX_THROW, BLOCXX_NAMESPACE::String::c_str(), m_filename, and m_log.

◆ ~FileAppender()

BLOCXX_NAMESPACE::FileAppender::~FileAppender ( )
virtual

Definition at line 75 of file FileAppender.cpp.

Member Function Documentation

◆ doProcessLogMessage()

Member Data Documentation

◆ m_filename

String BLOCXX_NAMESPACE::FileAppender::m_filename
private

Definition at line 74 of file FileAppender.hpp.

Referenced by doProcessLogMessage(), and FileAppender().

◆ m_flushLog

bool BLOCXX_NAMESPACE::FileAppender::m_flushLog
private

Definition at line 78 of file FileAppender.hpp.

Referenced by doProcessLogMessage().

◆ m_log

std::ofstream BLOCXX_NAMESPACE::FileAppender::m_log
mutableprivate

Definition at line 77 of file FileAppender.hpp.

Referenced by doProcessLogMessage(), and FileAppender().

◆ m_maxBackupIndex

unsigned int BLOCXX_NAMESPACE::FileAppender::m_maxBackupIndex
private

Definition at line 76 of file FileAppender.hpp.

Referenced by doProcessLogMessage().

◆ m_maxFileSize

UInt64 BLOCXX_NAMESPACE::FileAppender::m_maxFileSize
private

Definition at line 75 of file FileAppender.hpp.

Referenced by doProcessLogMessage().

◆ NO_MAX_BACKUP_INDEX

unsigned int const BLOCXX_NAMESPACE::FileAppender::NO_MAX_BACKUP_INDEX = 0
static

Definition at line 58 of file FileAppender.hpp.

◆ NO_MAX_LOG_SIZE

UInt64 const BLOCXX_NAMESPACE::FileAppender::NO_MAX_LOG_SIZE = 0
static

Definition at line 57 of file FileAppender.hpp.

Referenced by doProcessLogMessage().

◆ STR_DEFAULT_MESSAGE_PATTERN

const GlobalString BLOCXX_NAMESPACE::FileAppender::STR_DEFAULT_MESSAGE_PATTERN = { "%d{%a %b %d %H:%M:%S %Y} [%t]: %m", 0, {0, PTHREAD_MUTEX_INITIALIZER} }
static

Definition at line 69 of file FileAppender.hpp.


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