#define SATDUMP_DLL_EXPORT 1 #include "logger.h" #include #include #include #include #ifdef __ANDROID__ #include #endif // Logger and sinks. We got a console sink and file sink #ifdef __ANDROID__ std::shared_ptr console_sink; #else std::shared_ptr console_sink; #endif std::shared_ptr file_sink; SATDUMP_DLL std::shared_ptr logger; void initLogger() { try { // Initialize everything #ifdef __ANDROID__ console_sink = std::make_shared(); #else console_sink = std::make_shared(); #endif #ifndef __ANDROID__ file_sink = std::make_shared("satdump.logs", true); #endif #ifndef __ANDROID__ logger = std::shared_ptr(new spdlog::logger("SatDump", {console_sink, file_sink})); #else logger = std::shared_ptr(new spdlog::logger("SatDump", {console_sink})); #endif // Use a custom, nicer log pattern. No color in the file console_sink->set_pattern("[%D - %T] %^(%L) %v%$"); #ifndef __ANDROID__ file_sink->set_pattern("[%D - %T] (%L) %v"); #endif // Default log level #ifndef __ANDROID__ file_sink->set_level(spdlog::level::trace); #endif console_sink->set_level(spdlog::level::trace); logger->set_level(spdlog::level::trace); } catch (std::exception &e) { std::cout << e.what() << std::endl; exit(1); } } void setConsoleLevel(spdlog::level::level_enum level) { // Just change our log level console_sink->set_level(level); }