Minecraft Community Edition
0.1.0
Loading...
Searching...
No Matches
LoggerSinks.hpp
1
#pragma once
2
3
#include <fstream>
4
#include <string>
5
#include <string_view>
6
7
#include <EABase/config/eacompilertraits.h>
8
// Overriding literal operators is deprecated in C++17
9
// EASTL still does this in some headers
10
EA_DISABLE_GCC_WARNING(-Wdeprecated-literal-
operator
)
11
#include <EASTL/string_view.h>
12
13
namespace
mce::io {
14
enum class
LogLevel;
15
16
class
LoggerSink
{
17
public
:
18
virtual
~LoggerSink
() =
default
;
19
virtual
void
log(std::string_view prettyMessage, std::string_view basicMessage) = 0;
20
};
21
22
class
StdoutSink
final :
public
LoggerSink
{
23
public
:
24
void
log(std::string_view prettyMessage, std::string_view basicMessage)
override
;
25
};
26
27
class
FileSink final :
public
LoggerSink
{
28
public
:
29
explicit
FileSink(std::string_view filename);
30
31
void
log(std::string_view prettyMessage, std::string_view basicMessage)
override
;
32
private
:
33
std::string filename;
34
std::ofstream file;
35
};
36
}
mce::io::LoggerSink
Definition
LoggerSinks.hpp:16
mce::io::StdoutSink
Definition
LoggerSinks.hpp:22
Minecraft-Community-Edition
IO
LoggerSinks.hpp
Generated by
1.16.1