LeviLamina
Loading...
Searching...
No Matches
FileSink.h
1
#pragma once
2
3
#include <filesystem>
4
#include <fstream>
5
#include <mutex>
6
7
#include "ll/api/io/Sink.h"
8
9
namespace
ll::io {
10
class
FileSink
:
public
Sink
{
11
std::ofstream file;
12
std::mutex mutex;
13
LogLevel flushLevel;
14
15
public
:
16
LLAPI
17
FileSink
(
18
std::filesystem::path
const
& path,
19
Polymorphic<Formatter>
formatter,
20
std::ios::openmode mode = std::ios::out
21
);
22
23
LLAPI
~FileSink
()
override
;
24
25
LLAPI
void
setFormatter(
Polymorphic<Formatter>
fmter)
override
;
26
27
LLAPI
void
append(
LogMessageView
const
& view)
override
;
28
29
LLAPI
void
flush()
override
;
30
31
LLAPI
void
setFlushLevel(LogLevel level)
override
;
32
};
33
}
// namespace ll::io
ll::data::IndirectValue
Definition
IndirectValue.h:47
ll::io::FileSink
Definition
FileSink.h:10
ll::io::Sink
Definition
Sink.h:21
ll::io::LogMessageView
Definition
LogMessage.h:12
src
ll
api
io
FileSink.h
Generated on Sat Apr 26 2025 05:55:20 for LeviLamina by
1.12.0