Skip to content

Commit 61525bb

Browse files
committed
Catch error in getLogger
In practice, it’s very unlikely this error will ever trigger but sure, let’s make the code analysis happy.
1 parent d104205 commit 61525bb

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

game/log.hh

+9-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <fmt/format.h>
77

88
#include <shared_mutex>
9+
#include <stdexcept>
910
#include <string>
1011
#include <string_view>
1112
#include <unordered_map>
@@ -58,7 +59,14 @@ class SpdLogger {
5859

5960
template <typename... Args>
6061
static void log(LogSystem::Values subsystem, spdlog::level::level_enum level, Args &&...args) {
61-
auto logger = getLogger(subsystem);
62+
LoggerPtr logger;
63+
try {
64+
logger = getLogger(subsystem);
65+
}
66+
catch (std::runtime_error const& e) {
67+
logger = m_defaultLogger;
68+
logger->log(spdlog::level::critical, e.what());
69+
}
6270
logger->log(level, std::forward<Args>(args)...);
6371
}
6472

0 commit comments

Comments
 (0)