Added static logging

main
anulax1225 ago%!(EXTRA string=11 months)
parent d7e0ab1da3
commit 9cd879f5a5
  1. 7
      src/bakatools/json/fs_manager.cpp
  2. 2
      src/bakatools/json/fs_manager.h
  3. 4
      src/bakatools/json/parser.cpp
  4. 24
      src/bakatools/logging/assert.h
  5. 21
      src/bakatools/logging/log.h

@ -31,6 +31,7 @@ namespace Bk::Json
void FsManager::config_init(int page_size) void FsManager::config_init(int page_size)
{ {
BK_INFO("CACA");
auto dir = Directory(path); auto dir = Directory(path);
std::string s_config = "\n" std::string s_config = "\n"
"{\n" "{\n"
@ -38,16 +39,21 @@ namespace Bk::Json
" \"id_count\": 0,\n" " \"id_count\": 0,\n"
" \"page_size\": " + std::to_string(page_size) + "\n" " \"page_size\": " + std::to_string(page_size) + "\n"
"}"; "}";
BK_INFO(s_config);
config = Parser(s_config).parse(); config = Parser(s_config).parse();
BK_INFO("ff");
write_config(); write_config();
} }
void FsManager::init(bool force, int page_size) void FsManager::init(bool force, int page_size)
{ {
auto dir = Directory(path); auto dir = Directory(path);
if (dir.exists() && force) dir = dir.remove(); if (dir.exists() && force) dir = dir.remove();
if (!dir.exists()) if (!dir.exists())
{ {
BK_INFO("CACA");
Directory::create(dir.path()); Directory::create(dir.path());
config_init(page_size); config_init(page_size);
} }
@ -64,7 +70,6 @@ namespace Bk::Json
void FsManager::set_config(Object* object) void FsManager::set_config(Object* object)
{ {
config->set_object(object); config->set_object(object);
write_config(); write_config();
} }

@ -1,4 +1,6 @@
#include <bakatoolspch.h> #include <bakatoolspch.h>
#include <bakatools/file_system/directory.h>
#include <bakatools/file_system/file.h>
#include "parser.h" #include "parser.h"
namespace Bk::Json namespace Bk::Json

@ -32,7 +32,9 @@ namespace Bk::Json
Pointer Parser::parse() Pointer Parser::parse()
{ {
Token token; Token token;
BK_INFO("LALA");
while (lexer.has_more_tokens()) { while (lexer.has_more_tokens()) {
BK_INFO("LALA");
try try
{ {
token = lexer.get_token(); token = lexer.get_token();
@ -73,7 +75,7 @@ namespace Bk::Json
} }
catch(std::logic_error& e) catch(std::logic_error& e)
{ {
BK_INFO(e.what()); BK_WARNING(e.what());
auto node = Pointer(); auto node = Pointer();
node->set_null(); node->set_null();
root = node; root = node;

@ -7,6 +7,23 @@ This file contains the assert macros. CORE macros musn't be used by the applicat
#include "log.h" #include "log.h"
#include <bakatools/string/format.h> #include <bakatools/string/format.h>
#if defined(BK_PLATFORM_WINDOWS)
#define BK_STATIC_DEBUGBREAK() __debugbreak()
#elif defined(BK_PLATFORM_LINUX)
#include <signal.h>
#define BK_STATIC_DEBUGBREAK() raise(SIGTRAP)
#else
#error "Plaform doesn't support debug yet"
#endif
#define BK_STATIC_CORE_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_STATIC_CORE_ERROR(Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_STATIC_DEBUGBREAK(); }
#define BK_STATIC_CORE_MSG_ASSERT(check, msg) if(!(check)) { BK_STATIC_CORE_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_STATIC_DEBUGBREAK(); }
#define BK_STATIC_CORE_ASSERT(check) if(!(check)) { BK_STATIC_CORE_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_STATIC_DEBUGBREAK(); }
#define BK_STATIC_VAMSG_ASSERT(check, msg, ...) if(!(check)) { BK_STATIC_ERROR(Bk::Tools::format("Assertion [%s] failed at %s:%d\n\tError : %s", BK_STRINGIFY(check), __FILE__, __LINE__, msg), __VA_ARGS__); BK_STATIC_DEBUGBREAK(); }
#define BK_STATIC_MSG_ASSERT(check, msg) if(!(check)) { BK_STATIC_ERROR("Assertion [{0}] failed at {1}:{2}\n\tError : {3}", BK_STRINGIFY(check), __FILE__, __LINE__, msg); BK_STATIC_DEBUGBREAK(); }
#define BK_STATIC_ASSERT(check) if(!(check)) { BK_STATIC_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_STATIC_DEBUGBREAK(); }
#ifdef BK_DEBUG #ifdef BK_DEBUG
#if defined(BK_PLATFORM_WINDOWS) #if defined(BK_PLATFORM_WINDOWS)
#define BK_DEBUGBREAK() __debugbreak() #define BK_DEBUGBREAK() __debugbreak()
@ -16,12 +33,6 @@ This file contains the assert macros. CORE macros musn't be used by the applicat
#else #else
#error "Plaform doesn't support debug yet" #error "Plaform doesn't support debug yet"
#endif #endif
#define BK_ENABLE_ASSERT
#else
#define BK_DEBUGBREAK()
#endif
#ifdef BK_ENABLE_ASSERT
/*! \def BK_CORE_VAMSG_ASSERT(check, msg, ...) /*! \def BK_CORE_VAMSG_ASSERT(check, msg, ...)
Assertes a condition, and throw an error with the formatted message as description Assertes a condition, and throw an error with the formatted message as description
@param check : Condionne to assert @param check : Condionne to assert
@ -36,6 +47,7 @@ This file contains the assert macros. CORE macros musn't be used by the applicat
#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_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(); } #define BK_ASSERT(check) if(!(check)) { BK_ERROR("Assertion [{0}] failed at {1}:{2}", BK_STRINGIFY(check), __FILE__, __LINE__); BK_DEBUGBREAK(); }
#else #else
#define BK_DEBUGBREAK()
#define BK_CORE_VAMSG_ASSERT(check, msg, ...) #define BK_CORE_VAMSG_ASSERT(check, msg, ...)
#define BK_CORE_MSG_ASSERT(check, msg) #define BK_CORE_MSG_ASSERT(check, msg)
#define BK_CORE_ASSERT(check) #define BK_CORE_ASSERT(check)

@ -18,28 +18,41 @@ namespace Bk {
static std::shared_ptr<spdlog::logger> p_core_logger; static std::shared_ptr<spdlog::logger> p_core_logger;
static std::shared_ptr<spdlog::logger> p_app_logger; static std::shared_ptr<spdlog::logger> p_app_logger;
}; };
#define BK_STATIC_CORE_TRACE(...) Log::get_core_logger()->trace(__VA_ARGS__)
#define BK_STATIC_CORE_INFO(...) Log::get_core_logger()->info(__VA_ARGS__)
#define BK_STATIC_CORE_WARNING(...) Log::get_core_logger()->warning(__VA_ARGS__)
#define BK_STATIC_CORE_ERROR(...) Log::get_core_logger()->error(__VA_ARGS__)
#define BK_STATIC_CORE_CRITICAL(...) Log::get_core_logger()->critical(__VA_ARGS__)
#define BK_STATIC_TRACE(...) Bk::Log::get_app_logger()->trace(__VA_ARGS__)
#define BK_STATIC_INFO(...) Bk::Log::get_app_logger()->info(__VA_ARGS__)
#define BK_STATIC_WARNING(...) Bk::Log::get_app_logger()->warning(__VA_ARGS__)
#define BK_STATIC_ERROR(...) Bk::Log::get_app_logger()->error(__VA_ARGS__)
#define BK_STATIC_CRITICAL(...) Bk::Log::get_app_logger()->critical(__VA_ARGS__)
#ifdef BK_DEBUG #ifdef BK_DEBUG
#define BK_CORE_TRACE(...) Log::get_core_logger()->trace(__VA_ARGS__) #define BK_CORE_TRACE(...) Log::get_core_logger()->trace(__VA_ARGS__)
#define BK_CORE_INFO(...) Log::get_core_logger()->info(__VA_ARGS__) #define BK_CORE_INFO(...) Log::get_core_logger()->info(__VA_ARGS__)
#define BK_CORE_WARN(...) Log::get_core_logger()->warn(__VA_ARGS__) #define BK_CORE_WARNING(...) Log::get_core_logger()->warning(__VA_ARGS__)
#define BK_CORE_ERROR(...) Log::get_core_logger()->error(__VA_ARGS__) #define BK_CORE_ERROR(...) Log::get_core_logger()->error(__VA_ARGS__)
#define BK_CORE_CRITICAL(...) Log::get_core_logger()->critical(__VA_ARGS__) #define BK_CORE_CRITICAL(...) Log::get_core_logger()->critical(__VA_ARGS__)
#define BK_TRACE(...) Bk::Log::get_app_logger()->trace(__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_INFO(...) Bk::Log::get_app_logger()->info(__VA_ARGS__)
#define BK_WARN(...) Bk::Log::get_app_logger()->warn(__VA_ARGS__) #define BK_WARNING(...) Bk::Log::get_app_logger()->warning(__VA_ARGS__)
#define BK_ERROR(...) Bk::Log::get_app_logger()->error(__VA_ARGS__) #define BK_ERROR(...) Bk::Log::get_app_logger()->error(__VA_ARGS__)
#define BK_CRITICAL(...) Bk::Log::get_app_logger()->critical(__VA_ARGS__) #define BK_CRITICAL(...) Bk::Log::get_app_logger()->critical(__VA_ARGS__)
#else #else
#define BK_CORE_TRACE(...) #define BK_CORE_TRACE(...)
#define BK_CORE_INFO(...) #define BK_CORE_INFO(...)
#define BK_CORE_WARN(...) #define BK_CORE_WARNING(...)
#define BK_CORE_ERROR(...) #define BK_CORE_ERROR(...)
#define BK_CORE_CRITICAL(...) #define BK_CORE_CRITICAL(...)
#define BK_TRACE(...) #define BK_TRACE(...)
#define BK_INFO(...) #define BK_INFO(...)
#define BK_WARN(...) #define BK_WARNING(...)
#define BK_ERROR(...) #define BK_ERROR(...)
#define BK_CRITICAL(...) #define BK_CRITICAL(...)
#endif #endif

Loading…
Cancel
Save