parent
c7f7932d2f
commit
d271f9422e
9 changed files with 9 additions and 128 deletions
@ -1,32 +0,0 @@ |
||||
#pragma once |
||||
|
||||
/*! \file assert.h
|
||||
This file contains the assert macros. CORE macros musn't be used by the application. |
||||
*/ |
||||
|
||||
#include "base.h" |
||||
#include <bakara/tools/string_fmt.h> |
||||
|
||||
#ifdef BK_ENABLE_ASSERT |
||||
/*! \def BK_CORE_VAMSG_ASSERT(check, msg, ...)
|
||||
Assertes a condition, and throw an error with the formatted message as description |
||||
@param check : Condionne to assert |
||||
@param msg : format string error message |
||||
@param ... : variable arguments to put in the string |
||||
*/ |
||||
#define BK_CORE_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_CORE_ERROR(Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_DEBUGBREAK(); } |
||||
#define BK_CORE_MSG_ASSERT(check, msg) if(!(check)) { BK_CORE_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_DEBUGBREAK(); } |
||||
#define BK_CORE_ASSERT(check) if(!(check)) { BK_CORE_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_DEBUGBREAK(); } |
||||
|
||||
#define BK_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_ERROR(Bk::Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_DEBUGBREAK(); } |
||||
#define BK_MSG_ASSERT(check, msg) if(!(check)) { BK_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_DEBUGBREAK(); } |
||||
#define BK_ASSERT(check) if(!(check)) { BK_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_DEBUGBREAK(); } |
||||
#else |
||||
#define BK_CORE_VAMSG_ASSERT(check, msg, ...) |
||||
#define BK_CORE_MSG_ASSERT(check, msg) |
||||
#define BK_CORE_ASSERT(check) |
||||
|
||||
#define BK_VAMSG_ASSERT(check, msg, ...) |
||||
#define BK_MSG_ASSERT(check, msg) |
||||
#define BK_ASSERT(check) |
||||
#endif |
@ -1,25 +1,10 @@ |
||||
#pragma once |
||||
|
||||
#include "log.h" |
||||
|
||||
#define BK_STRINGIFY(x) #x |
||||
#define BIT_SHIFT(x) (1 << x) |
||||
|
||||
#define BK_BIND_EVENT_FN(fn) [this](Event& e) { fn(e); } |
||||
#define BK_BIND_DISPACHER_FN(event, fn) [this](event& e) -> bool{ return fn(e); } |
||||
|
||||
#ifdef BK_DEBUG |
||||
#if defined(BK_PLATFORM_WINDOWS) |
||||
#define BK_DEBUGBREAK() __debugbreak() |
||||
#elif defined(BK_PLATFORM_LINUX) |
||||
#include <signal.h> |
||||
#define BK_DEBUGBREAK() raise(SIGTRAP) |
||||
#else |
||||
#error "Plaform doesn't support debug yet" |
||||
#endif |
||||
#define BK_ENABLE_ASSERT |
||||
#else |
||||
#define BK_DEBUGBREAK() |
||||
#endif |
||||
|
||||
|
||||
|
@ -1,28 +0,0 @@ |
||||
#include "log.h" |
||||
|
||||
namespace Bk { |
||||
|
||||
std::shared_ptr<spdlog::logger> Log::p_core_logger; |
||||
std::shared_ptr<spdlog::logger> Log::p_app_logger; |
||||
|
||||
void Log::init() |
||||
{ |
||||
std::vector<spdlog::sink_ptr> log_sinks; |
||||
log_sinks.emplace_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>()); |
||||
log_sinks.emplace_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("bakara.log", true)); |
||||
|
||||
log_sinks[0]->set_pattern("%^[%T] %n: %v%$"); |
||||
log_sinks[1]->set_pattern("[%T] [%l] %n: %v"); |
||||
|
||||
p_core_logger = std::make_shared<spdlog::logger>("BAKARA", begin(log_sinks), end(log_sinks)); |
||||
spdlog::register_logger(p_core_logger); |
||||
p_core_logger->set_level(spdlog::level::trace); |
||||
p_core_logger->flush_on(spdlog::level::trace); |
||||
|
||||
p_app_logger = std::make_shared<spdlog::logger>("APP", begin(log_sinks), end(log_sinks)); |
||||
spdlog::register_logger(p_app_logger); |
||||
p_app_logger->set_level(spdlog::level::trace); |
||||
p_app_logger->flush_on(spdlog::level::trace); |
||||
} |
||||
|
||||
} |
@ -1,47 +0,0 @@ |
||||
#pragma once |
||||
|
||||
#include <bkpch.h> |
||||
#include <spdlog/spdlog.h> |
||||
#include <spdlog/fmt/ostr.h> |
||||
#include <spdlog/sinks/stdout_color_sinks.h> |
||||
#include <spdlog/sinks/basic_file_sink.h> |
||||
|
||||
namespace Bk { |
||||
|
||||
class Log |
||||
{ |
||||
public: |
||||
static void init(); |
||||
|
||||
static std::shared_ptr<spdlog::logger>& get_core_logger() { return p_core_logger; } |
||||
static std::shared_ptr<spdlog::logger>& get_app_logger() { return p_app_logger; } |
||||
private: |
||||
static std::shared_ptr<spdlog::logger> p_core_logger; |
||||
static std::shared_ptr<spdlog::logger> p_app_logger; |
||||
}; |
||||
#ifdef BK_DEBUG |
||||
#define BK_CORE_TRACE(...) ::Bk::Log::get_core_logger()->trace(__VA_ARGS__) |
||||
#define BK_CORE_INFO(...) ::Bk::Log::get_core_logger()->info(__VA_ARGS__) |
||||
#define BK_CORE_WARN(...) ::Bk::Log::get_core_logger()->warn(__VA_ARGS__) |
||||
#define BK_CORE_ERROR(...) ::Bk::Log::get_core_logger()->error(__VA_ARGS__) |
||||
#define BK_CORE_CRITICAL(...) ::Bk::Log::get_core_logger()->critical(__VA_ARGS__) |
||||
|
||||
#define BK_TRACE(...) ::Bk::Log::get_app_logger()->trace(__VA_ARGS__) |
||||
#define BK_INFO(...) ::Bk::Log::get_app_logger()->info(__VA_ARGS__) |
||||
#define BK_WARN(...) ::Bk::Log::get_app_logger()->warn(__VA_ARGS__) |
||||
#define BK_ERROR(...) ::Bk::Log::get_app_logger()->error(__VA_ARGS__) |
||||
#define BK_CRITICAL(...) ::Bk::Log::get_app_logger()->critical(__VA_ARGS__) |
||||
#else |
||||
#define BK_CORE_TRACE(...) |
||||
#define BK_CORE_INFO(...) |
||||
#define BK_CORE_WARN(...) |
||||
#define BK_CORE_ERROR(...) |
||||
#define BK_CORE_CRITICAL(...) |
||||
|
||||
#define BK_TRACE(...) |
||||
#define BK_INFO(...) |
||||
#define BK_WARN(...) |
||||
#define BK_ERROR(...) |
||||
#define BK_CRITICAL(...) |
||||
#endif |
||||
} |
Loading…
Reference in New Issue