SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
Logger.h
1#pragma once
2
3#include "spark/log/Export.h"
4#include "spark/log/Level.h"
5
6#include <format>
7#include <string_view>
8
9namespace spark::log
10{
17 SPARK_LOG_EXPORT void log(Level level, const std::string& message);
18
25 template <typename... Args>
26 void trace(std::string_view message, Args&&... args)
27 {
28 log(Level::Trace, std::vformat(message, std::make_format_args(args...)));
29 }
30
37 template <typename... Args>
38 void debug(std::string_view message, Args&&... args)
39 {
40 log(Level::Debug, std::vformat(message, std::make_format_args(args...)));
41 }
42
49 template <typename... Args>
50 void info(std::string_view message, Args&&... args)
51 {
52 log(Level::Info, std::vformat(message, std::make_format_args(args...)));
53 }
54
61 template <typename... Args>
62 void warning(std::string_view message, Args&&... args)
63 {
64 log(Level::Warning, std::vformat(message, std::make_format_args(args...)));
65 }
66
73 template <typename... Args>
74 void error(std::string_view message, Args&&... args)
75 {
76 log(Level::Error, std::vformat(message, std::make_format_args(args...)));
77 }
78
85 template <typename... Args>
86 void critical(std::string_view message, Args&&... args)
87 {
88 log(Level::Critical, std::vformat(message, std::make_format_args(args...)));
89 }
90}