SDL 2.0
SDL_log.h File Reference
#include "SDL_stdinc.h"
#include "begin_code.h"
#include "close_code.h"
+ Include dependency graph for SDL_log.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SDL_MAX_LOG_MESSAGE   4096
 The maximum size of a log message prior to SDL 2.0.24.
 

Typedefs

typedef void(* SDL_LogOutputFunction) (void *userdata, int category, SDL_LogPriority priority, const char *message)
 

Enumerations

enum  SDL_LogCategory {
  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. More...
 

Functions

void SDL_LogSetAllPriority (SDL_LogPriority priority)
 
void SDL_LogSetPriority (int category, SDL_LogPriority priority)
 
SDL_LogPriority SDL_LogGetPriority (int category)
 
void SDL_LogResetPriorities (void)
 
void SDL_Log (SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(1)
 
void SDL_LogVerbose (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogDebug (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogInfo (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogWarn (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogError (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogCritical (int category, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(2)
 
void SDL_LogMessage (int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt,...) SDL_PRINTF_VARARG_FUNC(3)
 
void SDL_LogMessageV (int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3)
 
void SDL_LogGetOutputFunction (SDL_LogOutputFunction *callback, void **userdata)
 
void SDL_LogSetOutputFunction (SDL_LogOutputFunction callback, void *userdata)
 

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)

Definition in file SDL_log.h.

Macro Definition Documentation

◆ SDL_MAX_LOG_MESSAGE

#define SDL_MAX_LOG_MESSAGE   4096

The maximum size of a log message prior to SDL 2.0.24.

As of 2.0.24 there is no limit to the length of SDL log messages.

Definition at line 54 of file SDL_log.h.

Typedef Documentation

◆ SDL_LogOutputFunction

typedef void(* SDL_LogOutputFunction) (void *userdata, int category, SDL_LogPriority priority, const char *message)

The prototype for the log output callback function.

This function is called by SDL when there is new text to be logged.

Parameters
userdatawhat was passed as userdata to SDL_LogSetOutputFunction()
categorythe category of the message
prioritythe priority of the message
messagethe message being output

Definition at line 367 of file SDL_log.h.

Enumeration Type Documentation

◆ SDL_LogCategory

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 ERROR level.

Enumerator
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 

Definition at line 64 of file SDL_log.h.

65{
75
76 /* Reserved for future SDL library use */
87
88 /* Beyond this point is reserved for application use, e.g.
89 enum {
90 MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,
91 MYAPP_CATEGORY_AWESOME2,
92 MYAPP_CATEGORY_AWESOME3,
93 ...
94 };
95 */
SDL_LogCategory
The predefined log categories.
Definition SDL_log.h:65
@ SDL_LOG_CATEGORY_CUSTOM
Definition SDL_log.h:96
@ SDL_LOG_CATEGORY_RESERVED1
Definition SDL_log.h:77
@ SDL_LOG_CATEGORY_RESERVED8
Definition SDL_log.h:84
@ SDL_LOG_CATEGORY_RESERVED6
Definition SDL_log.h:82
@ SDL_LOG_CATEGORY_ERROR
Definition SDL_log.h:67
@ SDL_LOG_CATEGORY_RENDER
Definition SDL_log.h:72
@ SDL_LOG_CATEGORY_RESERVED5
Definition SDL_log.h:81
@ SDL_LOG_CATEGORY_RESERVED3
Definition SDL_log.h:79
@ SDL_LOG_CATEGORY_INPUT
Definition SDL_log.h:73
@ SDL_LOG_CATEGORY_TEST
Definition SDL_log.h:74
@ SDL_LOG_CATEGORY_RESERVED9
Definition SDL_log.h:85
@ SDL_LOG_CATEGORY_SYSTEM
Definition SDL_log.h:69
@ SDL_LOG_CATEGORY_RESERVED10
Definition SDL_log.h:86
@ SDL_LOG_CATEGORY_RESERVED4
Definition SDL_log.h:80
@ SDL_LOG_CATEGORY_APPLICATION
Definition SDL_log.h:66
@ SDL_LOG_CATEGORY_AUDIO
Definition SDL_log.h:70
@ SDL_LOG_CATEGORY_RESERVED7
Definition SDL_log.h:83
@ SDL_LOG_CATEGORY_ASSERT
Definition SDL_log.h:68
@ SDL_LOG_CATEGORY_VIDEO
Definition SDL_log.h:71
@ SDL_LOG_CATEGORY_RESERVED2
Definition SDL_log.h:78

◆ SDL_LogPriority

The predefined log priorities.

Enumerator
SDL_LOG_PRIORITY_VERBOSE 
SDL_LOG_PRIORITY_DEBUG 
SDL_LOG_PRIORITY_INFO 
SDL_LOG_PRIORITY_WARN 
SDL_LOG_PRIORITY_ERROR 
SDL_LOG_PRIORITY_CRITICAL 
SDL_NUM_LOG_PRIORITIES 

Definition at line 102 of file SDL_log.h.

103{
SDL_LogPriority
The predefined log priorities.
Definition SDL_log.h:103
@ SDL_NUM_LOG_PRIORITIES
Definition SDL_log.h:110
@ SDL_LOG_PRIORITY_INFO
Definition SDL_log.h:106
@ SDL_LOG_PRIORITY_CRITICAL
Definition SDL_log.h:109
@ SDL_LOG_PRIORITY_VERBOSE
Definition SDL_log.h:104
@ SDL_LOG_PRIORITY_DEBUG
Definition SDL_log.h:105
@ SDL_LOG_PRIORITY_ERROR
Definition SDL_log.h:108
@ SDL_LOG_PRIORITY_WARN
Definition SDL_log.h:107

Function Documentation

◆ SDL_Log()

void SDL_Log ( SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO.

= *

Parameters
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogCritical()

void SDL_LogCritical ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_CRITICAL.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogDebug()

void SDL_LogDebug ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_DEBUG.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogError()

void SDL_LogError ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_ERROR.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogGetOutputFunction()

void SDL_LogGetOutputFunction ( SDL_LogOutputFunction callback,
void **  userdata 
)
extern

Get the current log output function.

Parameters
callbackan SDL_LogOutputFunction filled in with the current log callback
userdataa pointer filled in with the pointer that is passed to callback
Since
This function is available since SDL 2.0.0.
See also
SDL_LogSetOutputFunction

◆ SDL_LogGetPriority()

SDL_LogPriority SDL_LogGetPriority ( int  category)
extern

Get the priority of a particular log category.

Parameters
categorythe category to query
Returns
the SDL_LogPriority for the requested category
Since
This function is available since SDL 2.0.0.
See also
SDL_LogSetPriority

◆ SDL_LogInfo()

void SDL_LogInfo ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_INFO.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogMessage()

void SDL_LogMessage ( int  category,
SDL_LogPriority  priority,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with the specified category and priority.

Parameters
categorythe category of the message
prioritythe priority of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessageV
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogMessageV()

void SDL_LogMessageV ( int  category,
SDL_LogPriority  priority,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
va_list  ap 
)
extern

Log a message with the specified category and priority.

Parameters
categorythe category of the message
prioritythe priority of the message
fmta printf() style message format string
apa variable argument list
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogVerbose
SDL_LogWarn

◆ SDL_LogResetPriorities()

void SDL_LogResetPriorities ( void  )
extern

Reset all priorities to default.

This is called by SDL_Quit().

Since
This function is available since SDL 2.0.0.
See also
SDL_LogSetAllPriority
SDL_LogSetPriority

◆ SDL_LogSetAllPriority()

void SDL_LogSetAllPriority ( SDL_LogPriority  priority)
extern

Set the priority of all log categories.

Parameters
prioritythe SDL_LogPriority to assign
Since
This function is available since SDL 2.0.0.
See also
SDL_LogSetPriority

◆ SDL_LogSetOutputFunction()

void SDL_LogSetOutputFunction ( SDL_LogOutputFunction  callback,
void *  userdata 
)
extern

Replace the default log output function with one of your own.

Parameters
callbackan SDL_LogOutputFunction to call instead of the default
userdataa pointer that is passed to callback
Since
This function is available since SDL 2.0.0.
See also
SDL_LogGetOutputFunction

◆ SDL_LogSetPriority()

void SDL_LogSetPriority ( int  category,
SDL_LogPriority  priority 
)
extern

Set the priority of a particular log category.

Parameters
categorythe category to assign a priority to
prioritythe SDL_LogPriority to assign
Since
This function is available since SDL 2.0.0.
See also
SDL_LogGetPriority
SDL_LogSetAllPriority

◆ SDL_LogVerbose()

void SDL_LogVerbose ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_VERBOSE.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogWarn

◆ SDL_LogWarn()

void SDL_LogWarn ( int  category,
SDL_PRINTF_FORMAT_STRING const char *  fmt,
  ... 
)
extern

Log a message with SDL_LOG_PRIORITY_WARN.

Parameters
categorythe category of the message
fmta printf() style message format string
...additional parameters matching % tokens in the fmt string, if any
Since
This function is available since SDL 2.0.0.
See also
SDL_Log
SDL_LogCritical
SDL_LogDebug
SDL_LogError
SDL_LogInfo
SDL_LogMessage
SDL_LogMessageV
SDL_LogVerbose