|
OpenM++ runtime library (libopenm)
|
log implementation class: log to console and into log files. More...
#include <log.h>


Public Member Functions | |
| Log (bool i_logToConsole=false, const char *i_basePath="openm.log", bool i_logToFile=false, bool i_useTimeStamp=false, bool i_usePidStamp=false) | |
| create log instance. | |
| ~Log (void) noexcept | |
| cleanup 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, bool i_isLogSql=false) noexcept override |
| re-initialize log file name(s) and other log settings. | |
| const string | lastLogPath (void) noexcept override |
| if log to file enabled return "last" log file path. | |
| const string | stampedLogPath (void) noexcept override |
| if log to "stamped" file enabled return "stamped" log file path. | |
| const string | getMessage (const char *i_sourceMsg) noexcept override |
| get language-specific message by source non-translated message | |
| const list< string > | getLanguages (void) noexcept override |
| get list of language name for the messages, eg: (en-ca, en) | |
| const unordered_map< string, string > | getLanguageMessages (void) noexcept override |
| get copy of language-specific messages | |
| void | swapLanguageMessages (const list< string > &i_langLst, unordered_map< string, string > &io_msgMap) noexcept override |
| set language-specific messages and update list of languages | |
| 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 | |
| void | logErr (const exception &i_ex, const char *i_msg=nullptr) noexcept override |
| log exception | |
| void | logSql (const char *i_sql) noexcept override |
| log sql query | |
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 | |
Public Member Functions inherited from openm::ILog | |
| virtual void | swapLanguageMessages (const std::list< std::string > &i_langLst, std::unordered_map< std::string, std::string > &io_msgMap) noexcept=0 |
| set language-specific messages and update list of languages | |
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 |
log implementation class: log to console and into log files.
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.:
modelOne.log => modelOne.2012_08_17_16_04_59_148.1234.log
| Log::Log | ( | bool | i_logToConsole = false, |
| const char * | i_basePath = "openm.log", |
||
| bool | i_logToFile = false, |
||
| bool | i_useTimeStamp = false, |
||
| bool | i_usePidStamp = false |
||
| ) |
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 |
|
overridevirtualnoexcept |
get copy of language-specific messages
Implements openm::ILog.
|
overridevirtualnoexcept |
get list of language name for the messages, eg: (en-ca, en)
Implements openm::ILog.
|
overridevirtualnoexcept |
get language-specific message by source non-translated message
Implements openm::ILog.
|
overridevirtualnoexcept |
re-initialize log file name(s) and other log settings.
| [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 |
| [in] | i_isLogSql | if true then log SQL into log file |
Implements openm::ILog.
|
overridevirtualnoexcept |
if log to file enabled return "last" log file path.
Implements openm::ILog.
|
overridevirtualnoexcept |
log exception
Implements openm::ILog.
|
overridevirtualnoexcept |
log message formatted with vsnprintf(), return false on error
Implements openm::ILogBase.
|
overridevirtualnoexcept |
log message
Implements openm::ILogBase.
|
overridevirtualnoexcept |
log sql query
Implements openm::ILog.
|
overridevirtualnoexcept |
if log to "stamped" file enabled return "stamped" log file path.
Implements openm::ILog.