#include "application.h" #include "audio/device/audio_device_manager.h" #include "misc/taskflow_singleton.h" #include "misc/singleton/singleton_manager.h" #include "spdlog/spdlog.h" #include "spdlog/sinks/daily_file_sink.h" #include "spdlog/sinks/stdout_sinks.h" #include "thread_message/thread_message_hubs.h" #include "window/window_manager.h" application::application() { } void application::init() { // 创建控制台日志记录器 auto console_sink = std::make_shared(); console_sink->set_level(spdlog::level::info); // 设置控制台日志级别 // 创建文件日志记录器 auto file_sink = std::make_shared("logs/log.txt", 0, 0); // 每天创建一个新的日志文件 file_sink->set_level(spdlog::level::info); // 设置文件日志级别 // 创建异步多路输出日志记录器,将日志输出到控制台和文件 spdlog::sinks_init_list sink_list = {console_sink, file_sink}; auto logger = std::make_shared("", sink_list); // 设置默认日志记录器 spdlog::set_default_logger(logger); init_taskflow(); singleton_manager::get()->init(); get_audio_device_manager()->start(); } void application::shutdown() { singleton_manager::get()->release(); release_taskflow(); spdlog::drop_all(); spdlog::shutdown(); } bool application::update_application() { g_main_thread_hub.process_messages(); g_window_manager.update(); return true; }