log: Construct global logger on first use

This commit is contained in:
MarcoFalke
2019-01-25 15:54:49 -05:00
parent d14ef5721f
commit 77777c5624
6 changed files with 34 additions and 28 deletions

View File

@@ -108,12 +108,12 @@ namespace BCLog {
} // namespace BCLog
extern BCLog::Logger* const g_logger;
BCLog::Logger& LogInstance();
/** Return true if log accepts specified category */
static inline bool LogAcceptCategory(BCLog::LogFlags category)
{
return g_logger->WillLogCategory(category);
return LogInstance().WillLogCategory(category);
}
/** Returns a string with the log categories. */
@@ -132,7 +132,7 @@ bool GetLogCategory(BCLog::LogFlags& flag, const std::string& str);
template <typename... Args>
static inline void LogPrintf(const char* fmt, const Args&... args)
{
if (g_logger->Enabled()) {
if (LogInstance().Enabled()) {
std::string log_msg;
try {
log_msg = tfm::format(fmt, args...);
@@ -140,7 +140,7 @@ static inline void LogPrintf(const char* fmt, const Args&... args)
/* Original format string will have newline so don't add one here */
log_msg = "Error \"" + std::string(fmterr.what()) + "\" while formatting log message: " + fmt;
}
g_logger->LogPrintStr(log_msg);
LogInstance().LogPrintStr(log_msg);
}
}