parent
efe4140efb
commit
4ab8e80c87
4 changed files with 67 additions and 1 deletions
@ -0,0 +1,28 @@ |
||||
#include "log.h" |
||||
|
||||
namespace Bk { |
||||
|
||||
std::shared_ptr<spdlog::logger> Log::CoreLogger; |
||||
std::shared_ptr<spdlog::logger> Log::AppLogger; |
||||
|
||||
void Log::Init() |
||||
{ |
||||
std::vector<spdlog::sink_ptr> logSinks; |
||||
logSinks.emplace_back(std::make_shared<spdlog::sinks::stdout_color_sink_mt>()); |
||||
logSinks.emplace_back(std::make_shared<spdlog::sinks::basic_file_sink_mt>("bakara.log", true)); |
||||
|
||||
logSinks[0]->set_pattern("%^[%T] %n: %v%$"); |
||||
logSinks[1]->set_pattern("[%T] [%l] %n: %v"); |
||||
|
||||
CoreLogger = std::make_shared<spdlog::logger>("BAKARA", begin(logSinks), end(logSinks)); |
||||
spdlog::register_logger(CoreLogger); |
||||
CoreLogger->set_level(spdlog::level::trace); |
||||
CoreLogger->flush_on(spdlog::level::trace); |
||||
|
||||
AppLogger = std::make_shared<spdlog::logger>("APP", begin(logSinks), end(logSinks)); |
||||
spdlog::register_logger(AppLogger); |
||||
AppLogger->set_level(spdlog::level::trace); |
||||
AppLogger->flush_on(spdlog::level::trace); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,36 @@ |
||||
#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>& GetCoreLogger() { return CoreLogger; } |
||||
static std::shared_ptr<spdlog::logger>& GetAppLogger() { return AppLogger; } |
||||
private: |
||||
static std::shared_ptr<spdlog::logger> CoreLogger; |
||||
static std::shared_ptr<spdlog::logger> AppLogger; |
||||
}; |
||||
|
||||
#define BK_CORE_TRACE(...) ::Bk::Log::GetCoreLogger()->trace(__VA_ARGS__) |
||||
#define BK_CORE_INFO(...) ::Bk::Log::GetCoreLogger()->info(__VA_ARGS__) |
||||
#define BK_CORE_WARN(...) ::Bk::Log::GetCoreLogger()->warn(__VA_ARGS__) |
||||
#define BK_CORE_ERROR(...) ::Bk::Log::GetCoreLogger()->error(__VA_ARGS__) |
||||
#define BK_CORE_CRITICAL(...) ::Bk::Log::GetCoreLogger()->critical(__VA_ARGS__) |
||||
|
||||
// Client log macros
|
||||
#define BK_TRACE(...) ::Bk::Log::GetAppLogger()->trace(__VA_ARGS__) |
||||
#define BK_INFO(...) ::Bk::Log::GetAppLogger()->info(__VA_ARGS__) |
||||
#define BK_WARN(...) ::Bk::Log::GetAppLogger()->warn(__VA_ARGS__) |
||||
#define BK_ERROR(...) ::Bk::Log::GetAppLogger()->error(__VA_ARGS__) |
||||
#define BK_CRITICAL(...) ::Bk::Log::GetAppLogger()->critical(__VA_ARGS__) |
||||
|
||||
} |
@ -1,7 +1,9 @@ |
||||
#include <iostream> |
||||
#include <bakara/math/math.h> |
||||
#include <bakara.h> |
||||
|
||||
int main() { |
||||
Bk::Log::Init(); |
||||
BK_INFO("Bienvenue dans la sandbox {0}", "bakara"); |
||||
Bk::Math::Vec2 vec(2.0f,2.0f); |
||||
std::cout << vec.x << " " << vec.y <<"\n"; |
||||
} |
Loading…
Reference in New Issue