Log base class: log to console and into log files.
More...
#include <log.h>
|
| LogBase (bool i_logToConsole, const char *i_basePath, bool i_logToFile, bool i_useTimeStamp, bool i_usePidStamp, bool i_noMsgTime) |
| create log instance. More...
|
|
| ~LogBase (void) noexcept |
| cleanup log resources
|
|
const string | timeStamp (void) noexcept override |
| return timestamp part of log file name: 2012_08_17_16_04_59_148. More...
|
|
const bool | isEnabled (void) noexcept override |
| return true if log to console or to file enabled. More...
|
|
void | init (bool i_logToConsole, const char *i_basePath, bool i_logToFile, bool i_useTimeStamp=false, bool i_usePidStamp=false, bool i_noMsgTime=false) noexcept |
| re-initialize log file name(s) and other log settings. More...
|
|
void | setRank (int i_rank, int i_worldSize) noexcept override |
| use process rank as log message prefix More...
|
|
virtual const bool | isEnabled (void) noexcept=0 |
| return true if log to console or to file enabled More...
|
|
virtual void | logMsg (const char *i_msg, const char *i_extra=NULL) noexcept=0 |
| log message More...
|
|
virtual void | logFormatted (const char *i_format,...) noexcept=0 |
| log message formatted with vsnprintf() More...
|
|
virtual const std::string | timeStamp (void) noexcept=0 |
| return timestamp part of log file name: 2012_08_17_16_04_59_148. More...
|
|
virtual void | setRank (int i_rank, int i_worldSize) noexcept=0 |
| use process rank as log message prefix More...
|
|
|
void | doLogMsg (const char *i_msg, const char *i_extra) noexcept |
| implement log message: log to console and log files
|
|
bool | logFileCreate (const string &i_path) noexcept |
|
virtual bool | logToConsole (const chrono::system_clock::time_point &i_msgTime, const char *i_msg, const char *i_extra=nullptr) noexcept=0 |
|
virtual bool | logToFile (bool i_isToStamped, const chrono::system_clock::time_point &i_msgTime, const char *i_msg, const char *i_extra=nullptr) noexcept=0 |
|
void | writeToLog (ostream &i_ost, const chrono::system_clock::time_point &i_msgTime, const char *i_msg, const char *i_extra=nullptr) |
|
|
recursive_mutex | theMutex |
|
bool | isConsoleEnabled |
|
bool | isLastEnabled |
|
bool | isLastCreated |
|
bool | isStampedEnabled |
|
bool | isStampedCreated |
|
string | tsPart |
|
string | pidPart |
|
string | lastPath |
|
string | stampedPath |
|
bool | isNoMsgTime |
|
string | rankPrefix |
|
bool | isMsgRank |
|
char | msgBuffer [msgBufferSize+1] |
|
|
static const size_t | msgBufferSize = 32768 |
|
Log base class: log to console and into log files.
◆ LogBase()
LogBase::LogBase |
( |
bool |
i_logToConsole, |
|
|
const char * |
i_basePath, |
|
|
bool |
i_logToFile, |
|
|
bool |
i_useTimeStamp, |
|
|
bool |
i_usePidStamp, |
|
|
bool |
i_noMsgTime |
|
) |
| |
create log instance.
- Parameters
-
[in] | i_logToConsole | if true then log to console |
[in] | i_basePath | path to "last" log file, if NULL or empty "" then no log file |
[in] | i_logToFile | if true then enable log to "last" file |
[in] | i_useTimeStamp | if true then use timestamp suffix in "stamped" file name |
[in] | i_usePidStamp | if true then use PID suffix in "stamped" file name |
[in] | i_noMsgTime | if true then not prefix log messages with date-time |
◆ init()
void LogBase::init |
( |
bool |
i_logToConsole, |
|
|
const char * |
i_basePath, |
|
|
bool |
i_logToFile, |
|
|
bool |
i_useTimeStamp = false , |
|
|
bool |
i_usePidStamp = false , |
|
|
bool |
i_noMsgTime = false |
|
) |
| |
|
noexcept |
re-initialize log file name(s) and other log settings.
- Parameters
-
[in] | i_logToConsole | if true then log to console |
[in] | i_basePath | path to "last" log file, if NULL or empty "" then no log file |
[in] | i_logToFile | if true then enable log to "last" file |
[in] | i_useTimeStamp | if true then use timestamp suffix in "stamped" file name |
[in] | i_usePidStamp | if true then use PID suffix in "stamped" file name |
[in] | i_noMsgTime | if true then not prefix log messages with date-time |
◆ isEnabled()
const bool openm::LogBase::isEnabled |
( |
void |
| ) |
|
|
inlineoverridevirtualnoexcept |
return true if log to console or to file enabled.
Implements openm::ILogBase.
◆ setRank()
void LogBase::setRank |
( |
int |
i_rank, |
|
|
int |
i_worldSize |
|
) |
| |
|
overridevirtualnoexcept |
◆ timeStamp()
const string LogBase::timeStamp |
( |
void |
| ) |
|
|
overridevirtualnoexcept |
return timestamp part of log file name: 2012_08_17_16_04_59_148.
it is never return empty "" string, even no log enabled or timestamp disabled for log file
Implements openm::ILogBase.
The documentation for this class was generated from the following files: