trace_if and debug_if macro added
This commit is contained in:
		@@ -6,6 +6,10 @@
 | 
				
			|||||||
// spdlog usage example
 | 
					// spdlog usage example
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SPDLOG_TRACE_ON
 | 
				
			||||||
 | 
					#define SPDLOG_DEBUG_ON
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "spdlog/spdlog.h"
 | 
					#include "spdlog/spdlog.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
@@ -40,6 +44,8 @@ int main(int, char*[])
 | 
				
			|||||||
        console->info("Positional args are {1} {0}..", "too", "supported");
 | 
					        console->info("Positional args are {1} {0}..", "too", "supported");
 | 
				
			||||||
        console->info("{:<30}", "left aligned");
 | 
					        console->info("{:<30}", "left aligned");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        SPDLOG_DEBUG_IF(console, true, "This is a debug log");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        spd::get("console")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name) function");
 | 
					        spd::get("console")->info("loggers can be retrieved from a global registry using the spdlog::get(logger_name) function");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -74,6 +80,8 @@ int main(int, char*[])
 | 
				
			|||||||
        // define SPDLOG_DEBUG_ON or SPDLOG_TRACE_ON
 | 
					        // define SPDLOG_DEBUG_ON or SPDLOG_TRACE_ON
 | 
				
			||||||
        SPDLOG_TRACE(console, "Enabled only #ifdef SPDLOG_TRACE_ON..{} ,{}", 1, 3.23);
 | 
					        SPDLOG_TRACE(console, "Enabled only #ifdef SPDLOG_TRACE_ON..{} ,{}", 1, 3.23);
 | 
				
			||||||
        SPDLOG_DEBUG(console, "Enabled only #ifdef SPDLOG_DEBUG_ON.. {} ,{}", 1, 3.23);
 | 
					        SPDLOG_DEBUG(console, "Enabled only #ifdef SPDLOG_DEBUG_ON.. {} ,{}", 1, 3.23);
 | 
				
			||||||
 | 
					        SPDLOG_DEBUG_IF(console, true, "This is a debug log");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Asynchronous logging is very fast..
 | 
					        // Asynchronous logging is very fast..
 | 
				
			||||||
        // Just call spdlog::set_async_mode(q_size) and all created loggers from now on will be asynchronous..
 | 
					        // Just call spdlog::set_async_mode(q_size) and all created loggers from now on will be asynchronous..
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -162,23 +162,25 @@ void drop_all();
 | 
				
			|||||||
// SPDLOG_TRACE(my_logger, "some trace message");
 | 
					// SPDLOG_TRACE(my_logger, "some trace message");
 | 
				
			||||||
// SPDLOG_TRACE(my_logger, "another trace message {} {}", 1, 2);
 | 
					// SPDLOG_TRACE(my_logger, "another trace message {} {}", 1, 2);
 | 
				
			||||||
// SPDLOG_DEBUG(my_logger, "some debug message {} {}", 3, 4);
 | 
					// SPDLOG_DEBUG(my_logger, "some debug message {} {}", 3, 4);
 | 
				
			||||||
 | 
					// SPDLOG_DEBUG_IF(my_logger, true, "some debug message {} {}", 3, 4);
 | 
				
			||||||
///////////////////////////////////////////////////////////////////////////////
 | 
					///////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef SPDLOG_TRACE_ON
 | 
					#ifdef SPDLOG_TRACE_ON
 | 
				
			||||||
#define SPDLOG_STR_H(x) #x
 | 
					#define SPDLOG_STR_H(x) #x
 | 
				
			||||||
#define SPDLOG_STR_HELPER(x) SPDLOG_STR_H(x)
 | 
					#define SPDLOG_STR_HELPER(x) SPDLOG_STR_H(x)
 | 
				
			||||||
#define SPDLOG_TRACE(logger, ...) logger->trace("[" __FILE__ " line #" SPDLOG_STR_HELPER(__LINE__) "] " __VA_ARGS__)
 | 
					#define SPDLOG_TRACE(logger, ...) logger->trace("[" __FILE__ " line #" SPDLOG_STR_HELPER(__LINE__) "] " __VA_ARGS__)
 | 
				
			||||||
 | 
					#define SPDLOG_TRACE_IF(logger, flag, ...) logger->trace_if(flag, "[" __FILE__ " line #" SPDLOG_STR_HELPER(__LINE__) "] " __VA_ARGS__)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define SPDLOG_TRACE(logger, ...)
 | 
					#define SPDLOG_TRACE(logger, ...)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef SPDLOG_DEBUG_ON
 | 
					#ifdef SPDLOG_DEBUG_ON
 | 
				
			||||||
#define SPDLOG_DEBUG(logger, ...) logger->debug(__VA_ARGS__)
 | 
					#define SPDLOG_DEBUG(logger, ...) logger->debug(__VA_ARGS__)
 | 
				
			||||||
 | 
					#define SPDLOG_DEBUG_IF(logger, flag, ...) logger->debug_if(flag, __VA_ARGS__)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define SPDLOG_DEBUG(logger, ...)
 | 
					#define SPDLOG_DEBUG(logger, ...)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user