Просмотр исходного кода

logging: Change FmtLogMessage to use variadic template instead of FMT_VARIADIC

Due to premature merging of #262 I think the build may be failing right now. Should merge this ASAP to fix it.
Daniel Lim Wee Soong 8 лет назад
Родитель
Сommit
bb9093ed57
2 измененных файлов с 11 добавлено и 5 удалено
  1. 3 3
      src/common/logging/backend.cpp
  2. 8 2
      src/common/logging/log.h

+ 3 - 3
src/common/logging/backend.cpp

@@ -146,12 +146,12 @@ void LogMessage(Class log_class, Level log_level, const char* filename, unsigned
     PrintColoredMessage(entry);
 }
 
-void FmtLogMessage(Class log_class, Level log_level, const char* filename, unsigned int line_num,
-                   const char* function, const char* format, const fmt::ArgList& args) {
+void LogMessage(Class log_class, Level log_level, const char* filename, unsigned int line_num,
+                const char* function, const char* format, const fmt::format_args& args) {
     if (filter && !filter->CheckMessage(log_class, log_level))
         return;
     Entry entry =
-        CreateEntry(log_class, log_level, filename, line_num, function, fmt::format(format, args));
+        CreateEntry(log_class, log_level, filename, line_num, function, fmt::vformat(format, args));
 
     PrintColoredMessage(entry);
 }

+ 8 - 2
src/common/logging/log.h

@@ -104,9 +104,15 @@ void LogMessage(Class log_class, Level log_level, const char* filename, unsigned
 #endif
     ;
 
+/// Logs a message to the global logger, using fmt
+void LogMessage(Class log_class, Level log_level, const char* filename, unsigned int line_num,
+                const char* function, const char* format, const fmt::format_args& args);
+
+template <typename... Args>
 void FmtLogMessage(Class log_class, Level log_level, const char* filename, unsigned int line_num,
-                   const char* function, const char* format, const fmt::ArgList& args);
-FMT_VARIADIC(void, FmtLogMessage, Class, Level, const char*, unsigned int, const char*, const char*)
+                   const char* function, const char* format, const Args&... args) {
+    LogMessage(log_class, log_level, filename, line_num, function, format, fmt::make_args(args...));
+}
 
 } // namespace Log