aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/util/log.h
blob: 5295cb92a19f82b86814c052cf8f975fa7c0838b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once

// allow user to disable debug macros
#ifndef CREPE_DISABLE_MACROS

#include "color.h"

// utility macros
#define _crepe_logf_here(fmt, ...) \
	crepe::util::logf(util::log_level::debug, "%s%s (%s:%d)" fmt "\n", \
			crepe::util::color::FG_WHITE, \
			__PRETTY_FUNCTION__, \
			__FILE_NAME__, \
			__LINE__, \
			crepe::util::color::RESET, \
			__VA_ARGS__)

#define dbg_logf(fmt, ...) _crepe_logf_here(": " fmt, __VA_ARGS__)
#define dbg_log(str) _crepe_logf_here(": %s", str)
#define dbg_trace() _crepe_logf_here("%s", "")

#endif

namespace crepe::util {

enum log_level { debug, info, warning, error, };

void logf(const char * fmt, ...);
void logf(enum log_level level, const char * fmt, ...);

}