diff --git a/README.md b/README.md index e51f2721..7b3d39d7 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,8 @@ async... Elapsed: 0.349851 2,858,358/sec #### Basic usage ```c++ #include "spdlog/spdlog.h" +#include "spdlog/sinks/basic_file_sink.h" + int main() { spdlog::info("Welcome to spdlog!"); diff --git a/include/spdlog/common.h b/include/spdlog/common.h index a44dc00c..c7e20c2f 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -72,7 +72,7 @@ #if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES) using filename_t = std::wstring; #define SPDLOG_FILENAME_T(s) L##s -SPDLOG_INLINE std::string filename_to_str(const filename_t &filename) +inline std::string filename_to_str(const filename_t &filename) { std::wstring_convert, wchar_t> c; return c.to_bytes(filename); diff --git a/include/spdlog/spdlog.h b/include/spdlog/spdlog.h index cc4c8a47..0c2589e8 100644 --- a/include/spdlog/spdlog.h +++ b/include/spdlog/spdlog.h @@ -328,7 +328,10 @@ inline void critical(const wchar_t *fmt, const Args &... args) // #define SPDLOG_LOGGER_CALL(logger, level, ...) \ - logger->log(spdlog::source_loc{SPDLOG_FILE_BASENAME(__FILE__), __LINE__, SPDLOG_FUNCTION}, level, __VA_ARGS__) + do { \ + if (logger->should_log(level)) \ + logger->log(spdlog::source_loc{SPDLOG_FILE_BASENAME(__FILE__), __LINE__, SPDLOG_FUNCTION}, level, __VA_ARGS__); \ + } while (0) #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_TRACE #define SPDLOG_LOGGER_TRACE(logger, ...) SPDLOG_LOGGER_CALL(logger, spdlog::level::trace, __VA_ARGS__)