OpenM++ runtime library (libopenm)
|
trace log implementation class: model event log to console and into log files. More...
#include <log.h>
Public Member Functions | |
TraceLog (bool i_logToConsole=false, const char *i_basePath="", bool i_logToFile=false, bool i_useTimeStamp=false, bool i_usePidStamp=false, bool i_noMsgTime=false) | |
create log instance. More... | |
~TraceLog (void) noexcept | |
cleanup trace log resources | |
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 override |
re-initialize trace file name(s) and other log settings, it is also create or truncate existing trace file. More... | |
void | logMsg (const char *i_msg, const char *i_extra=NULL) noexcept override |
log message More... | |
void | logFormatted (const char *i_format,...) noexcept override |
log message formatted with vsnprintf() More... | |
Public Member Functions inherited from openm::LogBase | |
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... | |
virtual 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=0 |
re-initialize log file name(s) and other log settings. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from openm::LogBase | |
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) |
Protected Attributes inherited from openm::LogBase | |
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 Protected Attributes inherited from openm::LogBase | |
static const size_t | msgBufferSize = 32768 |
trace log implementation class: model event log to console and into log files.
trace log is faster than "regular" log but may not be flashed on runtime errors.
log can be enabled/disabled for 3 independent streams:
console - cout stream
"last run" file - log file with specified name, truncated on every model run
"stamped" file - log file with unique name, created for every model run
"stamped" name produced from "last run" name by adding time-stamp and pid-stamp, i.e.:
trace.log => trace.2012_08_17_16_04_59_148.1234.log
|
inline |
create log instance.
[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 |
|
overridevirtualnoexcept |
re-initialize trace file name(s) and other log settings, it is also create or truncate existing trace file.
[in] | i_logToConsole | if true then trace to console |
[in] | i_basePath | path to "last" trace file, if NULL or empty "" then no trace 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 |
[in] | i_logToConsole | if true then log to console |
[in] | i_basePath | path to "last" trace file, if NULL or empty "" then no trace 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 |
Implements openm::ITrace.
|
overridevirtualnoexcept |
log message formatted with vsnprintf()
Implements openm::ILogBase.
|
overridevirtualnoexcept |
log message
Implements openm::ILogBase.