#include <FileLogOutput.h>
Static Public Member Functions | |
static LogOutputStream * | create (const icl_core::String &name, const icl_core::String &config_prefix, icl_core::logging::LogLevel log_level=cDEFAULT_LOG_LEVEL) |
Private Member Functions | |
void | closeLogFile () |
void | expandFilename () |
FileLogOutput (const icl_core::String &name, const icl_core::String &config_prefix, icl_core::logging::LogLevel log_level) | |
FileLogOutput (const icl_core::String &name, const icl_core::String &config_prefix, icl_core::logging::LogLevel log_level, bool flush) | |
void | flush () |
bool | isOpen () |
void | openLogFile () |
virtual void | pushImpl (const icl_core::String &log_line) |
void | rotateLogFile () |
virtual | ~FileLogOutput () |
Private Attributes | |
bool | m_delete_old_files |
uint32_t | m_delete_older_than_days |
icl_core::String | m_filename |
bool | m_flush |
int64_t | m_last_rotation |
std::ofstream | m_log_file |
bool | m_rotate |
Friends | |
class | LoggingManager |
An output stream which streams to a file.
This class is implemented as a singleton so that only one instance can exist in any process.
Definition at line 49 of file FileLogOutput.h.
icl_core::logging::FileLogOutput::FileLogOutput | ( | const icl_core::String & | name, |
const icl_core::String & | config_prefix, | ||
icl_core::logging::LogLevel | log_level | ||
) | [private] |
Definition at line 48 of file FileLogOutput.cpp.
icl_core::logging::FileLogOutput::FileLogOutput | ( | const icl_core::String & | name, |
const icl_core::String & | config_prefix, | ||
icl_core::logging::LogLevel | log_level, | ||
bool | flush | ||
) | [private] |
Definition at line 105 of file FileLogOutput.cpp.
icl_core::logging::FileLogOutput::~FileLogOutput | ( | ) | [private, virtual] |
Definition at line 123 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::closeLogFile | ( | ) | [private] |
Definition at line 185 of file FileLogOutput.cpp.
LogOutputStream * icl_core::logging::FileLogOutput::create | ( | const icl_core::String & | name, |
const icl_core::String & | config_prefix, | ||
icl_core::logging::LogLevel | log_level = cDEFAULT_LOG_LEVEL |
||
) | [static] |
Creates a new file log output stream object.
Definition at line 42 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::expandFilename | ( | ) | [private] |
Definition at line 304 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::flush | ( | ) | [private] |
Definition at line 171 of file FileLogOutput.cpp.
bool icl_core::logging::FileLogOutput::isOpen | ( | ) | [private] |
Definition at line 157 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::openLogFile | ( | ) | [private] |
Definition at line 206 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::pushImpl | ( | const icl_core::String & | log_line | ) | [private, virtual] |
This virtual function is called with a formatted log line. It sould be overridden by output stream implementations, which do not need the individual fields of a log message but only a formatted log message text.
Reimplemented from icl_core::logging::LogOutputStream.
Definition at line 128 of file FileLogOutput.cpp.
void icl_core::logging::FileLogOutput::rotateLogFile | ( | ) | [private] |
Definition at line 239 of file FileLogOutput.cpp.
friend class LoggingManager [friend] |
Reimplemented from icl_core::logging::LogOutputStream.
Definition at line 52 of file FileLogOutput.h.
bool icl_core::logging::FileLogOutput::m_delete_old_files [private] |
Definition at line 84 of file FileLogOutput.h.
Definition at line 85 of file FileLogOutput.h.
Definition at line 78 of file FileLogOutput.h.
bool icl_core::logging::FileLogOutput::m_flush [private] |
Definition at line 87 of file FileLogOutput.h.
Definition at line 82 of file FileLogOutput.h.
std::ofstream icl_core::logging::FileLogOutput::m_log_file [private] |
Definition at line 79 of file FileLogOutput.h.
bool icl_core::logging::FileLogOutput::m_rotate [private] |
Definition at line 81 of file FileLogOutput.h.