feat: Integrate StillHammer Logger throughout GroveEngine
Replace manual spdlog logger creation (10+ lines) with StillHammer Logger (1 line).
Changes:
- IntraIOManager: Use createDomainLogger("IntraIOManager", "io")
- ModuleLoader: Use createDomainLogger("ModuleLoader", "engine")
- EngineFactory: Use createDomainLogger("EngineFactory", "engine")
- IOFactory: Use createDomainLogger("IOFactory", "io")
- SequentialModuleSystem: Use createDomainLogger("SequentialModuleSystem", "engine")
- ModuleFactory: Use createDomainLogger("ModuleFactory", "engine")
- DebugEngine: Use createDomainLogger("DebugEngine", "engine")
- ModuleSystemFactory: Use createDomainLogger("ModuleSystemFactory", "engine")
- CMakeLists.txt: Link stillhammer_logger to grove_impl
Benefits:
- Domain-organized logs: logs/io/, logs/engine/
- Auto snake_case conversion: IntraIOManager → intra_iomanager.log
- Cleaner code: 1 line instead of 10+
- Consistent logging across codebase
- Build and tests pass successfully
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
3923e3cbbe
commit
7e76ed47a4
@ -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}
|
||||
|
||||
@ -7,31 +7,16 @@
|
||||
#include <fstream>
|
||||
#include <filesystem>
|
||||
#include <sstream>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <spdlog/sinks/basic_file_sink.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
namespace grove {
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
DebugEngine::DebugEngine() {
|
||||
// Create comprehensive logger with multiple sinks
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("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<spdlog::logger>("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<void*>(this));
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
#include <nlohmann/json.hpp>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
using json = nlohmann::json;
|
||||
|
||||
@ -183,15 +183,7 @@ std::shared_ptr<spdlog::logger> EngineFactory::getFactoryLogger() {
|
||||
static std::shared_ptr<spdlog::logger> logger = nullptr;
|
||||
|
||||
if (!logger) {
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
console_sink->set_level(spdlog::level::debug);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#include <algorithm>
|
||||
#include <random>
|
||||
#include <functional>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
// Include implemented transports
|
||||
#include <grove/IntraIO.h>
|
||||
@ -266,14 +266,7 @@ std::shared_ptr<spdlog::logger> IOFactory::getFactoryLogger() {
|
||||
static std::shared_ptr<spdlog::logger> logger = nullptr;
|
||||
|
||||
if (!logger) {
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
console_sink->set_level(spdlog::level::debug);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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;
|
||||
|
||||
@ -2,26 +2,13 @@
|
||||
#include <grove/IntraIO.h>
|
||||
#include <grove/JsonDataNode.h>
|
||||
#include <stdexcept>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <spdlog/sinks/basic_file_sink.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
namespace grove {
|
||||
|
||||
IntraIOManager::IntraIOManager() {
|
||||
// Create logger
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("logs/intra_io_manager.log", true);
|
||||
|
||||
console_sink->set_level(spdlog::level::debug);
|
||||
file_sink->set_level(spdlog::level::trace);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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
|
||||
|
||||
@ -2,27 +2,14 @@
|
||||
#include <filesystem>
|
||||
#include <dlfcn.h>
|
||||
#include <algorithm>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <spdlog/sinks/basic_file_sink.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
namespace grove {
|
||||
|
||||
ModuleFactory::ModuleFactory() {
|
||||
// Create logger with file and console output
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("logs/module_factory.log", true);
|
||||
|
||||
console_sink->set_level(spdlog::level::info);
|
||||
file_sink->set_level(spdlog::level::trace);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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");
|
||||
|
||||
@ -6,20 +6,12 @@
|
||||
#include <unistd.h>
|
||||
#include <filesystem>
|
||||
#include <thread>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
namespace grove {
|
||||
|
||||
ModuleLoader::ModuleLoader() {
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
console_sink->set_level(spdlog::level::debug);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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");
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include <grove/ModuleSystemFactory.h>
|
||||
#include <algorithm>
|
||||
#include <thread>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
// Include implemented systems
|
||||
#include <grove/SequentialModuleSystem.h>
|
||||
@ -210,14 +210,7 @@ std::shared_ptr<spdlog::logger> ModuleSystemFactory::getFactoryLogger() {
|
||||
static std::shared_ptr<spdlog::logger> logger = nullptr;
|
||||
|
||||
if (!logger) {
|
||||
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
|
||||
console_sink->set_level(spdlog::level::debug);
|
||||
|
||||
logger = std::make_shared<spdlog::logger>("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;
|
||||
|
||||
@ -1,30 +1,12 @@
|
||||
#include <grove/SequentialModuleSystem.h>
|
||||
#include <grove/JsonDataNode.h>
|
||||
#include <stdexcept>
|
||||
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||
#include <spdlog/sinks/basic_file_sink.h>
|
||||
#include <logger/Logger.h>
|
||||
|
||||
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<spdlog::sinks::stdout_color_sink_mt>();
|
||||
auto file_sink = std::make_shared<spdlog::sinks::basic_file_sink_mt>("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<spdlog::logger>("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();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user