diff --git a/include/vkcv/Logger.hpp b/include/vkcv/Logger.hpp index bc8758f195fe35a5c16e181d56ea9ac2abdb2b92..251b6b528c45ea509dbfcd0cfb7135b77031f1ac 100644 --- a/include/vkcv/Logger.hpp +++ b/include/vkcv/Logger.hpp @@ -33,24 +33,32 @@ namespace vkcv { } #ifndef NDEBUG +#ifndef VKCV_DEBUG_MESSAGE_LEN +#define VKCV_DEBUG_MESSAGE_LEN 1024 +#endif + +#ifdef _MSC_VER +#define __PRETTY_FUNCTION__ __FUNCSIG__ +#endif -#define vkcv_log(level, ...) { \ - char output_message [1024]; \ - \ - sprintf( \ - output_message, \ - __VA_ARGS__ \ - ); \ - \ - std::fprintf( \ - getLogOutput(level), \ - "[%s]: %s [%s, line %d: %s]\n", \ - vkcv::getLogName(level), \ - output_message, \ - __FILE__, \ - __LINE__, \ - __PRETTY_FUNCTION__ \ - ); \ +#define vkcv_log(level, ...) { \ + char output_message [ \ + VKCV_DEBUG_MESSAGE_LEN \ + ]; \ + std::snprintf( \ + output_message, \ + VKCV_DEBUG_MESSAGE_LEN, \ + __VA_ARGS__ \ + ); \ + std::fprintf( \ + getLogOutput(level), \ + "[%s]: %s [%s, line %d: %s]\n", \ + vkcv::getLogName(level), \ + output_message, \ + __FILE__, \ + __LINE__, \ + __PRETTY_FUNCTION__ \ + ); \ } #else