7
7
*
8
8
*/
9
9
10
+ #pragma once
10
11
11
12
#include < iostream>
12
13
#include < string_view>
@@ -23,12 +24,12 @@ class Logger
23
24
24
25
enum class Level
25
26
{
26
- error,
27
- warning,
28
- severe,
29
- info,
27
+ debug,
30
28
fine,
31
- debug
29
+ info,
30
+ severe,
31
+ warning,
32
+ error
32
33
};
33
34
34
35
Logger (std::string_view name)
@@ -46,20 +47,20 @@ class Logger
46
47
{
47
48
}
48
49
49
- void setFilter (Filter filterToSet) { filter = filterToSet; }
50
+ Logger () = delete ;
51
+
52
+ void log (Level level, const char *file, unsigned int line, const char *func, std::string_view message);
50
53
51
- void log (Level level, std::string_view message);
52
-
53
- inline void error (std::string_view message) { log (Level::error, message); };
54
- inline void warning (std::string_view message) { log (Level::warning, message); };
55
- inline void severe (std::string_view message) { log (Level::severe, message); };
56
- inline void info (std::string_view message) { log (Level::info, message); };
57
- inline void fine (std::string_view message) { log (Level::fine, message); };
58
- inline void debug (std::string_view message) { log (Level::debug, message); };
54
+ inline void error (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::error, file, line, func, message); };
55
+ inline void warning (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::warning, file, line, func, message); };
56
+ inline void severe (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::severe, file, line, func, message); };
57
+ inline void info (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::info, file, line, func, message); };
58
+ inline void fine (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::fine, file, line, func, message); };
59
+ inline void debug (const char *file, unsigned int line, const char *func, std::string_view message) { log (Level::debug, file, line, func, message); };
59
60
60
61
private:
61
- std::string name;
62
- Filter filter;
62
+ const std::string name;
63
+ const Filter filter;
63
64
std::ostream &logStream;
64
65
65
66
// ISO 8601 date time format
0 commit comments