Explorar el Código

Merge pull request #306 from daniellimws/new-fmt-macros

logging: Use variadic template instead of FMT_VARIADIC
bunnei hace 8 años
padre
commit
b87a588c37
Se han modificado 2 ficheros con 11 adiciones y 5 borrados
  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);
     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))
     if (filter && !filter->CheckMessage(log_class, log_level))
         return;
         return;
     Entry entry =
     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);
     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
 #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,
 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
 } // namespace Log