feat(log): afegeix Log::raw() per a marcadors sense prefix
Recupera el comportament històric dels marcadors "Game start" i "Bye!" que han de sortir pelats (no com a "App: Game start"). Log::raw(level, msg) és una variant prima sobre SDL_LogMessage que no anteposa cap tag i cau a SDL_LOG_CATEGORY_APPLICATION (filtrable per AEE_LOG global). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
c8882a3f6e
commit
170521aba6
3 files changed
+13
-2
No files matched your search
+3
-2
@@ -16,7 +16,8 @@ auto SDL_AppInit(void** appstate, int argc, char* argv[]) -> SDL_AppResult {
|
|||||||
// Logger primer de tot perquè l'arrencada del Director ja emet logs.
|
// Logger primer de tot perquè l'arrencada del Director ja emet logs.
|
||||||
Log::init();
|
Log::init();
|
||||||
// Marcador d'inici: ha de ser la PRIMERA línia de log del programa.
|
// Marcador d'inici: ha de ser la PRIMERA línia de log del programa.
|
||||||
Log::info("App", "Game start");
|
// `raw` per emetre el text pelat sense el prefix "tag: ".
|
||||||
|
Log::raw(Log::Level::INFO, "Game start");
|
||||||
|
|
||||||
// Construïm el Director amb make_unique i l'entreguem en cru a SDL.
|
// Construïm el Director amb make_unique i l'entreguem en cru a SDL.
|
||||||
// El SDL_AppQuit reclamarà la propietat amb un altre unique_ptr (RAII).
|
// El SDL_AppQuit reclamarà la propietat amb un altre unique_ptr (RAII).
|
||||||
@@ -45,5 +46,5 @@ void SDL_AppQuit(void* appstate, SDL_AppResult result) {
|
|||||||
std::unique_ptr<Director> director(static_cast<Director*>(appstate));
|
std::unique_ptr<Director> director(static_cast<Director*>(appstate));
|
||||||
}
|
}
|
||||||
// Marcador de fi: ha de ser l'ÚLTIMA línia de log del programa.
|
// Marcador de fi: ha de ser l'ÚLTIMA línia de log del programa.
|
||||||
Log::info("App", "Bye!");
|
Log::raw(Log::Level::INFO, "Bye!");
|
||||||
}
|
}
|
||||||
@@ -130,6 +130,11 @@ namespace Log {
|
|||||||
SDL_LogMessage(categoryFor(tag), toSDL(lvl), "%s", BODY.c_str());
|
SDL_LogMessage(categoryFor(tag), toSDL(lvl), "%s", BODY.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void raw(Level lvl, std::string_view msg) {
|
||||||
|
const std::string TEXT{msg};
|
||||||
|
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, toSDL(lvl), "%s", TEXT.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
// No toquem cap categoria SDL nativa per defecte: així preservem el
|
// No toquem cap categoria SDL nativa per defecte: així preservem el
|
||||||
// silenci de SDL_LOG_CATEGORY_GPU, RENDER, etc. (default = ERROR), i
|
// silenci de SDL_LOG_CATEGORY_GPU, RENDER, etc. (default = ERROR), i
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ namespace Log {
|
|||||||
// entrega a SDL_LogMessage amb la categoria registrada per al tag.
|
// entrega a SDL_LogMessage amb la categoria registrada per al tag.
|
||||||
void log(Level lvl, std::string_view tag, std::string_view msg);
|
void log(Level lvl, std::string_view tag, std::string_view msg);
|
||||||
|
|
||||||
|
// Variant sense prefix de tag — ús reservat per a marcadors literals
|
||||||
|
// (p. ex. "Game start" / "Bye!"). Cau a SDL_LOG_CATEGORY_APPLICATION,
|
||||||
|
// així AEE_LOG global encara els pot silenciar.
|
||||||
|
void raw(Level lvl, std::string_view msg);
|
||||||
|
|
||||||
template <typename... Args>
|
template <typename... Args>
|
||||||
void trace(std::string_view tag, std::format_string<Args...> fmt, Args&&... args) {
|
void trace(std::string_view tag, std::format_string<Args...> fmt, Args&&... args) {
|
||||||
log(Level::TRACE, tag, std::format(fmt, std::forward<Args>(args)...));
|
log(Level::TRACE, tag, std::format(fmt, std::forward<Args>(args)...));
|
||||||
|
|||||||
Reference in new issue
Block a user