瀏覽代碼

Don't log SDL errors by default

There are many recoverable errors that may happen internally and can be safely ignored if the public API doesn't return an error code. Seeing them causes lots of developer anxiety and they generally aren't helpful.

Fixes https://github.com/libsdl-org/SDL/issues/11813
Sam Lantinga 1 年之前
父節點
當前提交
efc390d7e2
共有 2 個文件被更改,包括 6 次插入8 次删除
  1. 6 4
      src/SDL_error.c
  2. 0 4
      src/test/SDL_test_common.c

+ 6 - 4
src/SDL_error.c

@@ -61,10 +61,12 @@ bool SDL_SetErrorV(SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap)
             }
         }
 
-        if (SDL_GetLogPriority(SDL_LOG_CATEGORY_ERROR) <= SDL_LOG_PRIORITY_DEBUG) {
-            // If we are in debug mode, print out the error message
-            SDL_LogDebug(SDL_LOG_CATEGORY_ERROR, "%s", error->str);
-        }
+// Enable this if you want to see all errors printed as they occur.
+// Note that there are many recoverable errors that may happen internally and
+// can be safely ignored if the public API doesn't return an error code.
+#if 0
+        SDL_LogError(SDL_LOG_CATEGORY_ERROR, "%s", error->str);
+#endif
     }
 
     return false;

+ 0 - 4
src/test/SDL_test_common.c

@@ -145,10 +145,6 @@ static int SDLCALL SDLTest_CommonStateParseCommonArguments(void *data, char **ar
             SDL_SetLogPriorities(SDL_LOG_PRIORITY_VERBOSE);
             return 2;
         }
-        if (SDL_strcasecmp(argv[index], "error") == 0) {
-            SDL_SetLogPriority(SDL_LOG_CATEGORY_ERROR, SDL_LOG_PRIORITY_VERBOSE);
-            return 2;
-        }
         if (SDL_strcasecmp(argv[index], "system") == 0) {
             SDL_SetLogPriority(SDL_LOG_CATEGORY_SYSTEM, SDL_LOG_PRIORITY_VERBOSE);
             return 2;