/
pixelsuft
/
tinyfoo
Обзор
Документация
Войти
/
pixelsuft
/
tinyfoo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/log.cpp
50 строк
1 KB
Pixelsuft
wip
06 июл 2025, 12:44
06 июл 2025, 12:44
28c37e8
Код
Авторство
О чём код?
#include <log.hpp> #include <unreachable.hpp> #include <SDL3/SDL_log.h> namespace ui { void push_log(const char* data, const char* file, const char* func, int line, int category); } namespace logger { int log_level; int ui_log_level; } void logger::log_by_category(const char* data, const char* file, const char* func, int line, int category) { if (category < log_level && category < ui_log_level) return; #if ENABLE_STDOUT_LOGGING SDL_LogPriority pr; switch (category) { case 0: { pr = SDL_LOG_PRIORITY_INFO; break; } case 1: { pr = SDL_LOG_PRIORITY_WARN; break; } case 2: { pr = SDL_LOG_PRIORITY_ERROR; break; } case 3: { pr = SDL_LOG_PRIORITY_CRITICAL; break; } default: { TF_UNREACHABLE(); } } if (category >= log_level) { #if IS_RELEASE SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, pr, "%s", data); #else SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, pr, "[%s:%i] at %s: %s", file, line, func, data); #endif } #endif if (category >= ui_log_level) ui::push_log(data, file, func, line, category); }