mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-30 15:08:31 +00:00
Added support for the DEBUG_INVOCATION environment variable
Fixes https://github.com/libsdl-org/SDL/issues/12275
This commit is contained in:
@@ -2410,6 +2410,10 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* `app=info,assert=warn,test=verbose,*=error`
|
* `app=info,assert=warn,test=verbose,*=error`
|
||||||
*
|
*
|
||||||
|
* If the `DEBUG_INVOCATION` environment variable is set to "1", the default log levels are equivalent to:
|
||||||
|
*
|
||||||
|
* `assert=warn,test=verbose,*=debug`
|
||||||
|
*
|
||||||
* This hint can be set anytime.
|
* This hint can be set anytime.
|
||||||
*
|
*
|
||||||
* \since This hint is available since SDL 3.2.0.
|
* \since This hint is available since SDL 3.2.0.
|
||||||
|
@@ -375,6 +375,9 @@ void SDL_ResetLogPriorities(void)
|
|||||||
|
|
||||||
SDL_LockMutex(SDL_log_lock);
|
SDL_LockMutex(SDL_log_lock);
|
||||||
{
|
{
|
||||||
|
const char *env = SDL_getenv("DEBUG_INVOCATION");
|
||||||
|
bool debug = (env && *env && *env != '0');
|
||||||
|
|
||||||
CleanupLogPriorities();
|
CleanupLogPriorities();
|
||||||
|
|
||||||
SDL_log_default_priority = SDL_LOG_PRIORITY_INVALID;
|
SDL_log_default_priority = SDL_LOG_PRIORITY_INVALID;
|
||||||
@@ -397,7 +400,11 @@ void SDL_ResetLogPriorities(void)
|
|||||||
|
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case SDL_LOG_CATEGORY_APPLICATION:
|
case SDL_LOG_CATEGORY_APPLICATION:
|
||||||
SDL_log_priorities[i] = SDL_LOG_PRIORITY_INFO;
|
if (debug) {
|
||||||
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_DEBUG;
|
||||||
|
} else {
|
||||||
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_INFO;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SDL_LOG_CATEGORY_ASSERT:
|
case SDL_LOG_CATEGORY_ASSERT:
|
||||||
SDL_log_priorities[i] = SDL_LOG_PRIORITY_WARN;
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_WARN;
|
||||||
@@ -406,7 +413,11 @@ void SDL_ResetLogPriorities(void)
|
|||||||
SDL_log_priorities[i] = SDL_LOG_PRIORITY_VERBOSE;
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_VERBOSE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SDL_log_priorities[i] = SDL_LOG_PRIORITY_ERROR;
|
if (debug) {
|
||||||
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_DEBUG;
|
||||||
|
} else {
|
||||||
|
SDL_log_priorities[i] = SDL_LOG_PRIORITY_ERROR;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user