| 88 | } |
| 89 | |
| 90 | void TENLog(const std::string_view& msg, LogLevel level, LogConfig config, bool allowSpam) |
| 91 | { |
| 92 | if (prevString == msg && !allowSpam) |
| 93 | return; |
| 94 | |
| 95 | if constexpr (!DEBUG_BUILD) |
| 96 | { |
| 97 | if (config == LogConfig::Debug) |
| 98 | return; |
| 99 | } |
| 100 | |
| 101 | auto logger = spdlog::get("multi_sink"); |
| 102 | |
| 103 | if (!logger) |
| 104 | return; |
| 105 | |
| 106 | switch (level) |
| 107 | { |
| 108 | case LogLevel::Error: |
| 109 | logger->error(msg); |
| 110 | break; |
| 111 | |
| 112 | case LogLevel::Warning: |
| 113 | logger->warn(msg); |
| 114 | break; |
| 115 | |
| 116 | case LogLevel::Info: |
| 117 | logger->info(msg); |
| 118 | break; |
| 119 | } |
| 120 | |
| 121 | logger->flush(); |
| 122 | |
| 123 | prevString = std::string(msg); |
| 124 | } |
| 125 | |
| 126 | void StartDebugTimer() |
| 127 | { |