ObjectivelyMVC
Object oriented MVC framework for SDL3 and GNU C
Loading...
Searching...
No Matches
Log.h
Go to the documentation of this file.
1
/*
2
* ObjectivelyMVC: Object oriented MVC framework for SDL3 and C.
3
* Copyright (C) 2014 Jay Dolan <jay@jaydolan.com>
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
*
18
* 2. Altered source versions must be plainly marked as such, and must not be
19
* misrepresented as being the original software.
20
*
21
* 3. This notice may not be removed or altered from any source distribution.
22
*/
23
24
#pragma once
25
26
#include <stdlib.h>
27
28
#include <SDL3/SDL_log.h>
29
35
#define LOG_CATEGORY_MVC (SDL_LOG_CATEGORY_CUSTOM + 69)
36
37
#define MVC_LogSetPriority(priority) SDL_SetLogPriority(LOG_CATEGORY_MVC, priority)
38
39
#define MVC_LogEnabled(priority) \
40
(SDL_GetLogPriority(LOG_CATEGORY_MVC) <= priority)
41
42
#define MVC_LogMessage(priority, fmt, ...) \
43
SDL_LogMessage(LOG_CATEGORY_MVC, priority, "%s::%s "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
44
45
#define MVC_LogVerbose(fmt, ...) \
46
SDL_LogVerbose(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
47
48
#define MVC_LogDebug(fmt, ...) \
49
SDL_LogDebug(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
50
51
#define MVC_LogInfo(fmt, ...) \
52
SDL_LogInfo(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
53
54
#define MVC_LogWarn(fmt, ...) \
55
SDL_LogWarn(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
56
57
#define MVC_LogError(fmt, ...) \
58
SDL_LogError(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
59
60
#define MVC_LogCritical(fmt, ...) \
61
SDL_LogCritical(LOG_CATEGORY_MVC, "%s::%s: "fmt, _Class()->def.name, __func__, ## __VA_ARGS__)
62
67
#define MVC_Assert(cond, fmt, ...) \
68
do { \
69
if (!(cond)) { \
70
SDL_LogCritical(LOG_CATEGORY_MVC, "%s::%d::%s: " fmt ": %s", __FILE__, __LINE__, __func__, ## __VA_ARGS__, SDL_GetError()); \
71
SDL_TriggerBreakpoint(); \
72
exit(EXIT_FAILURE); \
73
} \
74
} while (0)
Sources
ObjectivelyMVC
Log.h
Generated on Mon Jul 6 2026 21:12:10 for ObjectivelyMVC by
1.9.8