diff --git a/include/spdlog/common.h b/include/spdlog/common.h index 803d1cd1..29f0eca9 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -122,7 +122,4 @@ using filename_t = std::wstring; using filename_t = std::string; #endif -#define SDLOG_STR_HELPER(x) #x -#define SPDLOG_STR(x) SDLOG_STR_HELPER(x) - } //spdlog diff --git a/include/spdlog/spdlog.h b/include/spdlog/spdlog.h index 4cb63a4c..0e698150 100644 --- a/include/spdlog/spdlog.h +++ b/include/spdlog/spdlog.h @@ -125,18 +125,21 @@ void drop_all(); /////////////////////////////////////////////////////////////////////////////// // -// Macros to be display source file & line // Trace & Debug can be switched on/off at compile time for zero cost debug statements. // Uncomment SPDLOG_DEBUG_ON/SPDLOG_TRACE_ON in teakme.h to enable. +// SPDLOG_TRACE(..) will also print current file and line. // // Example: -// spdlog::set_level(spdlog::level::debug); -// SPDLOG_DEBUG(my_logger, "Some debug message {} {}", 1, 3.2); +// spdlog::set_level(spdlog::level::trace); +// SPDLOG_TRACE(my_logger, "some trace message"); +// SPDLOG_TRACE(my_logger, "another trace message {} {}", 1, 2); +// SPDLOG_DEBUG(my_logger, "some debug message {} {}", 3, 4); /////////////////////////////////////////////////////////////////////////////// - #ifdef SPDLOG_TRACE_ON -#define SPDLOG_TRACE(logger, ...) logger->trace(__FILE__ ## " line " ## SPDLOG_STR(__LINE__) ## ": " ## __VA_ARGS__); +#define SPDLOG_STR_H(x) #x +#define SPDLOG_STR_HELPER(x) SPDLOG_STR_H(x) +#define SPDLOG_TRACE(logger, ...) logger->trace("[" __FILE__ " line #" SPDLOG_STR_HELPER(__LINE__) "] " __VA_ARGS__) #else #define SPDLOG_TRACE(logger, ...) #endif