47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
#include "application.h"
|
|
|
|
#include "audio/device/audio_device_manager.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<spdlog::sinks::stdout_sink_st>();
|
|
console_sink->set_level(spdlog::level::info); // 设置控制台日志级别
|
|
|
|
// 创建文件日志记录器
|
|
auto file_sink = std::make_shared<spdlog::sinks::daily_file_sink_st>("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<spdlog::logger>("", sink_list);
|
|
// 设置默认日志记录器
|
|
spdlog::set_default_logger(logger);
|
|
|
|
singleton_manager::get()->init();
|
|
|
|
|
|
get_audio_device_manager()->start();
|
|
}
|
|
|
|
void application::shutdown() {
|
|
singleton_manager::get()->release();
|
|
spdlog::drop_all();
|
|
spdlog::shutdown();
|
|
}
|
|
|
|
bool application::update_window_manager()
|
|
{
|
|
g_main_thread_hub.process_messages();
|
|
g_window_manager.update();
|
|
return true;
|
|
}
|