Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
icl_core::logging::FileLogOutput Class Reference

#include <FileLogOutput.h>

Inheritance diagram for icl_core::logging::FileLogOutput:
Inheritance graph
[legend]

Static Public Member Functions

static LogOutputStreamcreate (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
 

Additional Inherited Members

- Public Member Functions inherited from icl_core::logging::LogOutputStream
void changeLogFormat (const char *format)
 
void changeTimeFormat (const char *format)
 
icl_core::logging::LogLevel getLogLevel () const
 
 LogOutputStream (const icl_core::String &name, const icl_core::String &config_prefix, icl_core::logging::LogLevel log_level, bool use_worker_thread=true)
 
icl_core::String name () const
 
void printConfiguration () const
 
void push (icl_core::logging::LogLevel log_level, const char *log_stream_description, const char *filename, int line, const char *classname, const char *objectname, const char *function, const char *text)
 
void setLogLevel (icl_core::logging::LogLevel log_level)
 
void shutdown ()
 
void start ()
 Starts the worker thread of the log output stream. More...
 
virtual ~LogOutputStream ()
 
- Protected Member Functions inherited from icl_core::logging::LogOutputStream
 LogOutputStream (const icl_core::String &name, icl_core::logging::LogLevel log_level, bool use_worker_thread=true)
 
- Protected Member Functions inherited from icl_core::Noncopyable
 Noncopyable ()
 
virtual ~Noncopyable ()
 

Detailed Description

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.

Constructor & Destructor Documentation

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 ( )
privatevirtual

Definition at line 123 of file FileLogOutput.cpp.

Member Function Documentation

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)
privatevirtual

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.

Friends And Related Function Documentation

friend class LoggingManager
friend

Definition at line 52 of file FileLogOutput.h.

Member Data Documentation

bool icl_core::logging::FileLogOutput::m_delete_old_files
private

Definition at line 84 of file FileLogOutput.h.

uint32_t icl_core::logging::FileLogOutput::m_delete_older_than_days
private

Definition at line 85 of file FileLogOutput.h.

icl_core::String icl_core::logging::FileLogOutput::m_filename
private

Definition at line 78 of file FileLogOutput.h.

bool icl_core::logging::FileLogOutput::m_flush
private

Definition at line 87 of file FileLogOutput.h.

int64_t icl_core::logging::FileLogOutput::m_last_rotation
private

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.


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


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:59