SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_log.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
5
This software is provided 'as-is', without any express or implied
6
warranty. In no event will the authors be held liable for any damages
7
arising from the use of this software.
8
9
Permission is granted to anyone to use this software for any purpose,
10
including commercial applications, and to alter it and redistribute it
11
freely, subject to the following restrictions:
12
13
1. The origin of this software must not be misrepresented; you must not
14
claim that you wrote the original software. If you use this software
15
in a product, an acknowledgment in the product documentation would be
16
appreciated but is not required.
17
2. Altered source versions must be plainly marked as such, and must not be
18
misrepresented as being the original software.
19
3. This notice may not be removed or altered from any source distribution.
20
*/
21
22
/**
23
* \file SDL_log.h
24
*
25
* Simple log messages with categories and priorities.
26
*
27
* By default logs are quiet, but if you're debugging SDL you might want:
28
*
29
* SDL_LogSetAllPriority(SDL_LOG_PRIORITY_WARN);
30
*
31
* Here's where the messages go on different platforms:
32
* Windows: debug output stream
33
* Android: log output
34
* Others: standard error output (stderr)
35
*/
36
37
#ifndef SDL_log_h_
38
#define SDL_log_h_
39
40
#include "
SDL_stdinc.h
"
41
42
#include "
begin_code.h
"
43
/* Set up for C function definitions, even when using C++ */
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
47
48
49
/**
50
* \brief The maximum size of a log message
51
*
52
* Messages longer than the maximum size will be truncated
53
*/
54
#define SDL_MAX_LOG_MESSAGE 4096
55
56
/**
57
* \brief The predefined log categories
58
*
59
* By default the application category is enabled at the INFO level,
60
* the assert category is enabled at the WARN level, test is enabled
61
* at the VERBOSE level and all other categories are enabled at the
62
* CRITICAL level.
63
*/
64
enum
65
{
66
SDL_LOG_CATEGORY_APPLICATION
,
67
SDL_LOG_CATEGORY_ERROR
,
68
SDL_LOG_CATEGORY_ASSERT
,
69
SDL_LOG_CATEGORY_SYSTEM
,
70
SDL_LOG_CATEGORY_AUDIO
,
71
SDL_LOG_CATEGORY_VIDEO
,
72
SDL_LOG_CATEGORY_RENDER
,
73
SDL_LOG_CATEGORY_INPUT
,
74
SDL_LOG_CATEGORY_TEST
,
75
76
/* Reserved for future SDL library use */
77
SDL_LOG_CATEGORY_RESERVED1
,
78
SDL_LOG_CATEGORY_RESERVED2
,
79
SDL_LOG_CATEGORY_RESERVED3
,
80
SDL_LOG_CATEGORY_RESERVED4
,
81
SDL_LOG_CATEGORY_RESERVED5
,
82
SDL_LOG_CATEGORY_RESERVED6
,
83
SDL_LOG_CATEGORY_RESERVED7
,
84
SDL_LOG_CATEGORY_RESERVED8
,
85
SDL_LOG_CATEGORY_RESERVED9
,
86
SDL_LOG_CATEGORY_RESERVED10
,
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
*/
96
SDL_LOG_CATEGORY_CUSTOM
97
};
98
99
/**
100
* \brief The predefined log priorities
101
*/
102
typedef
enum
103
{
104
SDL_LOG_PRIORITY_VERBOSE
= 1,
105
SDL_LOG_PRIORITY_DEBUG
,
106
SDL_LOG_PRIORITY_INFO
,
107
SDL_LOG_PRIORITY_WARN
,
108
SDL_LOG_PRIORITY_ERROR
,
109
SDL_LOG_PRIORITY_CRITICAL
,
110
SDL_NUM_LOG_PRIORITIES
111
}
SDL_LogPriority
;
112
113
114
/**
115
* \brief Set the priority of all log categories
116
*/
117
extern
DECLSPEC
void
SDLCALL
SDL_LogSetAllPriority
(
SDL_LogPriority
priority);
118
119
/**
120
* \brief Set the priority of a particular log category
121
*/
122
extern
DECLSPEC
void
SDLCALL
SDL_LogSetPriority
(
int
category,
123
SDL_LogPriority
priority);
124
125
/**
126
* \brief Get the priority of a particular log category
127
*/
128
extern
DECLSPEC
SDL_LogPriority
SDLCALL
SDL_LogGetPriority
(
int
category);
129
130
/**
131
* \brief Reset all priorities to default.
132
*
133
* \note This is called in SDL_Quit().
134
*/
135
extern
DECLSPEC
void
SDLCALL
SDL_LogResetPriorities
(
void
);
136
137
/**
138
* \brief Log a message with SDL_LOG_CATEGORY_APPLICATION and SDL_LOG_PRIORITY_INFO
139
*/
140
extern
DECLSPEC
void
SDLCALL
SDL_Log
(
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...)
SDL_PRINTF_VARARG_FUNC
(1);
141
142
/**
143
* \brief Log a message with SDL_LOG_PRIORITY_VERBOSE
144
*/
145
extern
DECLSPEC
void
SDLCALL
SDL_LogVerbose
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...)
SDL_PRINTF_VARARG_FUNC
(2);
146
147
/**
148
* \brief Log a message with SDL_LOG_PRIORITY_DEBUG
149
*/
150
extern
DECLSPEC
void
SDLCALL
SDL_LogDebug
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
151
152
/**
153
* \brief Log a message with SDL_LOG_PRIORITY_INFO
154
*/
155
extern
DECLSPEC
void
SDLCALL
SDL_LogInfo
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
156
157
/**
158
* \brief Log a message with SDL_LOG_PRIORITY_WARN
159
*/
160
extern
DECLSPEC
void
SDLCALL
SDL_LogWarn
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
161
162
/**
163
* \brief Log a message with SDL_LOG_PRIORITY_ERROR
164
*/
165
extern
DECLSPEC
void
SDLCALL
SDL_LogError
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
166
167
/**
168
* \brief Log a message with SDL_LOG_PRIORITY_CRITICAL
169
*/
170
extern
DECLSPEC
void
SDLCALL
SDL_LogCritical
(
int
category,
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
171
172
/**
173
* \brief Log a message with the specified category and priority.
174
*/
175
extern
DECLSPEC
void
SDLCALL
SDL_LogMessage
(
int
category,
176
SDL_LogPriority
priority,
177
SDL_PRINTF_FORMAT_STRING
const
char
*fmt, ...) SDL_PRINTF_VARARG_FUNC(3);
178
179
/**
180
* \brief Log a message with the specified category and priority.
181
*/
182
extern
DECLSPEC
void
SDLCALL
SDL_LogMessageV
(
int
category,
183
SDL_LogPriority
priority,
184
const
char
*fmt, va_list ap);
185
186
/**
187
* \brief The prototype for the log output function
188
*/
189
typedef
void
(
SDLCALL
*
SDL_LogOutputFunction
)(
void
*userdata,
int
category,
SDL_LogPriority
priority, const
char
*
message
);
190
191
/**
192
* \brief Get the current log output function.
193
*/
194
extern
DECLSPEC
void
SDLCALL
SDL_LogGetOutputFunction
(
SDL_LogOutputFunction
*
callback
,
void
**userdata);
195
196
/**
197
* \brief This function allows you to replace the default log output
198
* function with one of your own.
199
*/
200
extern
DECLSPEC
void
SDLCALL
SDL_LogSetOutputFunction
(
SDL_LogOutputFunction
callback,
void
*userdata);
201
202
203
/* Ends C function definitions when using C++ */
204
#ifdef __cplusplus
205
}
206
#endif
207
#include "
close_code.h
"
208
209
#endif
/* SDL_log_h_ */
210
211
/* vi: set ts=4 sw=4 expandtab: */
include
SDL_log.h
Generated on Sun Jun 26 2022 23:07:06 for SDL by
1.8.1.2