|
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. | |
| ~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. | |
| void | logMsg (const char *i_msg, const char *i_extra=NULL) noexcept override |
| log message | |
| bool | logFormatted (const char *i_format,...) noexcept override |
| log message formatted with vsnprintf(), return false on error | |
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. | |
| ~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. | |
| const bool | isEnabled (void) noexcept override |
| return true if log to console or to file enabled. | |
| const bool | isCreateError (void) noexcept override |
| error at file create of last log or stamped log file | |
| 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. | |
| void | setRank (int i_rank, int i_worldSize) noexcept override |
| use process rank as log message prefix | |
Additional Inherited Members | |
Protected Member Functions inherited from openm::LogBase | |
| bool | 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 |
| bool | 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 | isErrorLastCreate |
| bool | isStampedEnabled |
| bool | isStampedCreated |
| bool | isErrorStampedCreate |
| 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(), return false on error
Implements openm::ILogBase.
|
overridevirtualnoexcept |
log message
Implements openm::ILogBase.