| 
    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.