diff --git a/CMakeLists.txt b/CMakeLists.txt index ec50101..7e0ba71 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,7 @@ if(GROVE_BUILD_IMPLEMENTATIONS) target_link_libraries(grove_impl PUBLIC GroveEngine::core topictree::topictree + stillhammer_logger OpenSSL::Crypto spdlog::spdlog ${CMAKE_DL_LIBS} diff --git a/src/DebugEngine.cpp b/src/DebugEngine.cpp index dc43b00..9717a46 100644 --- a/src/DebugEngine.cpp +++ b/src/DebugEngine.cpp @@ -7,31 +7,16 @@ #include #include #include -#include -#include +#include namespace grove { using json = nlohmann::json; DebugEngine::DebugEngine() { - // Create comprehensive logger with multiple sinks - auto console_sink = std::make_shared(); - auto file_sink = std::make_shared("logs/debug_engine.log", true); - - console_sink->set_level(spdlog::level::trace); // FULL VERBOSE MODE - file_sink->set_level(spdlog::level::trace); - - logger = std::make_shared("DebugEngine", - spdlog::sinks_init_list{console_sink, file_sink}); - logger->set_level(spdlog::level::trace); - logger->flush_on(spdlog::level::debug); - - // Register logger globally - spdlog::register_logger(logger); + logger = stillhammer::createDomainLogger("DebugEngine", "engine"); logger->info("🔧 DebugEngine constructor - Maximum logging enabled"); - logger->debug("📊 Console sink level: DEBUG, File sink level: TRACE"); logger->trace("🏗️ DebugEngine object created at address: {}", static_cast(this)); } diff --git a/src/EngineFactory.cpp b/src/EngineFactory.cpp index bc015f0..3194c4e 100644 --- a/src/EngineFactory.cpp +++ b/src/EngineFactory.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include using json = nlohmann::json; @@ -183,15 +183,7 @@ std::shared_ptr EngineFactory::getFactoryLogger() { static std::shared_ptr logger = nullptr; if (!logger) { - auto console_sink = std::make_shared(); - console_sink->set_level(spdlog::level::debug); - - logger = std::make_shared("EngineFactory", console_sink); - logger->set_level(spdlog::level::debug); - logger->flush_on(spdlog::level::debug); - - // Register globally - spdlog::register_logger(logger); + logger = stillhammer::createDomainLogger("EngineFactory", "engine"); } return logger; diff --git a/src/IOFactory.cpp b/src/IOFactory.cpp index 7685b5d..c8cbf78 100644 --- a/src/IOFactory.cpp +++ b/src/IOFactory.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include // Include implemented transports #include @@ -266,14 +266,7 @@ std::shared_ptr IOFactory::getFactoryLogger() { static std::shared_ptr logger = nullptr; if (!logger) { - auto console_sink = std::make_shared(); - console_sink->set_level(spdlog::level::debug); - - logger = std::make_shared("IOFactory", console_sink); - logger->set_level(spdlog::level::debug); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); + logger = stillhammer::createDomainLogger("IOFactory", "io"); } return logger; diff --git a/src/IntraIOManager.cpp b/src/IntraIOManager.cpp index 3792826..a12a2b0 100644 --- a/src/IntraIOManager.cpp +++ b/src/IntraIOManager.cpp @@ -2,26 +2,13 @@ #include #include #include -#include -#include +#include namespace grove { IntraIOManager::IntraIOManager() { - // Create logger - auto console_sink = std::make_shared(); - auto file_sink = std::make_shared("logs/intra_io_manager.log", true); - - console_sink->set_level(spdlog::level::debug); - file_sink->set_level(spdlog::level::trace); - - logger = std::make_shared("IntraIOManager", - spdlog::sinks_init_list{console_sink, file_sink}); - logger->set_level(spdlog::level::trace); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); - + // Create logger with domain organization + logger = stillhammer::createDomainLogger("IntraIOManager", "io"); logger->info("🌐🔗 IntraIOManager created - Central message router initialized"); // Start batch flush thread diff --git a/src/ModuleFactory.cpp b/src/ModuleFactory.cpp index 3b1fab4..b1b8eea 100644 --- a/src/ModuleFactory.cpp +++ b/src/ModuleFactory.cpp @@ -2,27 +2,14 @@ #include #include #include -#include -#include +#include namespace fs = std::filesystem; namespace grove { ModuleFactory::ModuleFactory() { - // Create logger with file and console output - auto console_sink = std::make_shared(); - auto file_sink = std::make_shared("logs/module_factory.log", true); - - console_sink->set_level(spdlog::level::info); - file_sink->set_level(spdlog::level::trace); - - logger = std::make_shared("ModuleFactory", - spdlog::sinks_init_list{console_sink, file_sink}); - logger->set_level(spdlog::level::trace); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); + logger = stillhammer::createDomainLogger("ModuleFactory", "engine"); logger->info("=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "="); logger->info("🏭 MODULE FACTORY INITIALIZED"); diff --git a/src/ModuleLoader.cpp b/src/ModuleLoader.cpp index 86f5489..c538f07 100644 --- a/src/ModuleLoader.cpp +++ b/src/ModuleLoader.cpp @@ -6,20 +6,12 @@ #include #include #include -#include +#include namespace grove { ModuleLoader::ModuleLoader() { - auto console_sink = std::make_shared(); - console_sink->set_level(spdlog::level::debug); - - logger = std::make_shared("ModuleLoader", console_sink); - logger->set_level(spdlog::level::debug); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); - + logger = stillhammer::createDomainLogger("ModuleLoader", "engine"); logger->info("🔧 ModuleLoader initialized"); } diff --git a/src/ModuleSystemFactory.cpp b/src/ModuleSystemFactory.cpp index a8e3b0b..c9a56aa 100644 --- a/src/ModuleSystemFactory.cpp +++ b/src/ModuleSystemFactory.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include // Include implemented systems #include @@ -210,14 +210,7 @@ std::shared_ptr ModuleSystemFactory::getFactoryLogger() { static std::shared_ptr logger = nullptr; if (!logger) { - auto console_sink = std::make_shared(); - console_sink->set_level(spdlog::level::debug); - - logger = std::make_shared("ModuleSystemFactory", console_sink); - logger->set_level(spdlog::level::debug); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); + logger = stillhammer::createDomainLogger("ModuleSystemFactory", "engine"); } return logger; diff --git a/src/SequentialModuleSystem.cpp b/src/SequentialModuleSystem.cpp index 831ba68..148cfc4 100644 --- a/src/SequentialModuleSystem.cpp +++ b/src/SequentialModuleSystem.cpp @@ -1,30 +1,12 @@ #include #include #include -#include -#include +#include namespace grove { SequentialModuleSystem::SequentialModuleSystem() { - // Try to get existing logger first (avoid duplicate registration) - logger = spdlog::get("SequentialModuleSystem"); - - if (!logger) { - // Create logger with file and console output - auto console_sink = std::make_shared(); - auto file_sink = std::make_shared("logs/sequential_system.log", true); - - console_sink->set_level(spdlog::level::trace); // FULL VERBOSE MODE - file_sink->set_level(spdlog::level::trace); - - logger = std::make_shared("SequentialModuleSystem", - spdlog::sinks_init_list{console_sink, file_sink}); - logger->set_level(spdlog::level::trace); - logger->flush_on(spdlog::level::debug); - - spdlog::register_logger(logger); - } + logger = stillhammer::createDomainLogger("SequentialModuleSystem", "engine"); logSystemStart(); lastProcessTime = std::chrono::high_resolution_clock::now();