]> git.lizzy.rs Git - shadowclad.git/blob - logger.c
Rework asset import, add texture import
[shadowclad.git] / logger.c
1 #include <stdarg.h>
2 #include <stdio.h>
3
4 #include "logger.h"
5
6 LogLevel logLevel = LOGLEVEL_DEBUG;
7
8 void logMessage(LogLevel msgLevel, const char* file, int line, const char* message, ...) {
9         if (msgLevel > logLevel) {
10                 return;
11         }
12         
13         const char* msgLevelString;
14         switch (msgLevel) {
15                 case LOGLEVEL_ERROR:
16                         msgLevelString = "error: ";
17                         break;
18                 case LOGLEVEL_WARNING:
19                         msgLevelString = "warning: ";
20                         break;
21                 case LOGLEVEL_INFO:
22                         msgLevelString = "";
23                         break;
24                 case LOGLEVEL_DEBUG:
25                         msgLevelString = "debug: ";
26                         break;
27                 default:
28                         msgLevelString = "(invalid message level!) ";
29                         break;
30         }
31         
32         va_list args;
33         va_start(args, message);
34         
35         fprintf(stderr, "%s:%i: %s", file, line, msgLevelString);
36         vfprintf(stderr, message, args);
37         fputc('\n', stderr);
38         
39         va_end(args);
40 }