My Project
Macros | Typedefs | Enumerations | Functions
SDL_log.h File Reference
#include "SDL_stdinc.h"
#include "begin_code.h"
#include "close_code.h"

Go to the source code of this file.

Macros

#define SDL_MAX_LOG_MESSAGE   4096
 The maximum size of a log message. More...
 

Typedefs

typedef void(SDLCALL * SDL_LogOutputFunction) (void *userdata, int category, SDL_LogPriority priority, const char *message)
 The prototype for the log output function.
 

Enumerations

enum  {
  SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_CATEGORY_ERROR, SDL_LOG_CATEGORY_ASSERT, SDL_LOG_CATEGORY_SYSTEM,
  SDL_LOG_CATEGORY_AUDIO, SDL_LOG_CATEGORY_VIDEO, SDL_LOG_CATEGORY_RENDER, SDL_LOG_CATEGORY_INPUT,
  SDL_LOG_CATEGORY_TEST, SDL_LOG_CATEGORY_RESERVED1, SDL_LOG_CATEGORY_RESERVED2, SDL_LOG_CATEGORY_RESERVED3,
  SDL_LOG_CATEGORY_RESERVED4, SDL_LOG_CATEGORY_RESERVED5, SDL_LOG_CATEGORY_RESERVED6, SDL_LOG_CATEGORY_RESERVED7,
  SDL_LOG_CATEGORY_RESERVED8, SDL_LOG_CATEGORY_RESERVED9, SDL_LOG_CATEGORY_RESERVED10, SDL_LOG_CATEGORY_CUSTOM
}
 The predefined log categories. More...
 
enum  SDL_LogPriority {
  SDL_LOG_PRIORITY_VERBOSE = 1, SDL_LOG_PRIORITY_DEBUG, SDL_LOG_PRIORITY_INFO, SDL_LOG_PRIORITY_WARN,
  SDL_LOG_PRIORITY_ERROR, SDL_LOG_PRIORITY_CRITICAL, SDL_NUM_LOG_PRIORITIES
}
 The predefined log priorities.
 

Functions

DECLSPEC void SDLCALL SDL_LogSetAllPriority (SDL_LogPriority priority)
 Set the priority of all log categories.
 
DECLSPEC void SDLCALL SDL_LogSetPriority (int category, SDL_LogPriority priority)
 Set the priority of a particular log category.
 
DECLSPEC SDL_LogPriority SDLCALL SDL_LogGetPriority (int category)
 Get the priority of a particular log category.
 
DECLSPEC void SDLCALL SDL_LogResetPriorities (void)
 Reset all priorities to default. More...
 
DECLSPEC void SDLCALL SDL_Log (SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(1)
 Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO.
 
DECLSPEC void SDLCALL SDL_LogVerbose (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_VERBOSE.
 
DECLSPEC void SDLCALL SDL_LogDebug (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_DEBUG.
 
DECLSPEC void SDLCALL SDL_LogInfo (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_INFO.
 
DECLSPEC void SDLCALL SDL_LogWarn (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_WARN.
 
DECLSPEC void SDLCALL SDL_LogError (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_ERROR.
 
DECLSPEC void SDLCALL SDL_LogCritical (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 Log a message with SDL_LOG_PRIORITY_CRITICAL.
 
DECLSPEC void SDLCALL SDL_LogMessage (int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(3)
 Log a message with the specified category and priority.
 
DECLSPEC void SDLCALL SDL_LogMessageV (int category, SDL_LogPriority priority, const char *fmt, va_list ap)
 Log a message with the specified category and priority.
 
DECLSPEC void SDLCALL SDL_LogGetOutputFunction (SDL_LogOutputFunction *callback, void **userdata)
 Get the current log output function.
 
DECLSPEC void SDLCALL SDL_LogSetOutputFunction (SDL_LogOutputFunction callback, void *userdata)
 This function allows you to replace the default log output function with one of your own.
 

Detailed Description

Simple log messages with categories and priorities.

By default logs are quiet, but if you're debugging SDL you might want:

SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);

Here's where the messages go on different platforms: Windows: debug output stream Android: log output Others: standard error output (stderr)

Macro Definition Documentation

◆ SDL_MAX_LOG_MESSAGE

#define SDL_MAX_LOG_MESSAGE   4096

The maximum size of a log message.

Messages longer than the maximum size will be truncated

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

The predefined log categories.

By default the application category is enabled at the INFO level, the assert category is enabled at the WARN level, test is enabled at the VERBOSE level and all other categories are enabled at the CRITICAL level.

Function Documentation

◆ SDL_LogResetPriorities()

DECLSPEC void SDLCALL SDL_LogResetPriorities ( void  )

Reset all priorities to default.

Note
This is called in SDL_Quit().