EzC
ezc_log.h
Go to the documentation of this file.
1 /* ezc_log.h
2  *
3  * Copyright (c) 2018 Kirk Lange <github.com/kirklange>
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 #ifndef EZC_LOG_H
23 #define EZC_LOG_H
24 
29 #ifdef __cplusplus
30 extern C
31 {
32 #endif
33 
34 #include <stdarg.h>
35 #include <stdio.h>
36 
37 
38 
42 typedef enum ezc_log_t
43 {
46 
49 
52 
55 }
56 ezc_log_t;
57 
58 
59 
71 #define ezc_log(type, message, ...) \
72  (ezc_log__(__FILE__, __LINE__, (type), (message), ##__VA_ARGS__))
73 
74 void ezc_log__(char const *file, long line, ezc_log_t type,
75  char const *message, ...);
76 
77 
78 
84 void ezc_log_echo(FILE *dest);
85 
86 
87 
100 char const* ezc_log_get(ezc_log_t type);
101 
102 
103 
110 void ezc_log_fwrite();
111 
112 
113 
117 void ezc_log_clear();
118 
119 
120 
121 #ifdef __cplusplus
122 }
123 #endif
124 
125 #endif /* EZC_LOG_H */
void ezc_log_echo(FILE *dest)
Set where logs are echoed to.
Definition: ezc_log.h:45
char const * ezc_log_get(ezc_log_t type)
Get most recent message of at least given severity.
Definition: ezc_log.h:48
void ezc_log_clear()
Clear the global log.
Definition: ezc_log.h:54
void ezc_log_fwrite()
Write the global log to a file.
Definition: ezc_log.h:51
ezc_log_t
Log severity.
Definition: ezc_log.h:42