LeviLamina
Loading...
Searching...
No Matches
FileSink.h
1#pragma once
2
3#include <filesystem>
4#include <memory>
5
6#include "ll/api/io/RotatePolicy.h"
7#include "ll/api/io/Sink.h"
8
9namespace ll::io {
10
14class FileSink : public Sink {
15 struct Impl;
16 std::unique_ptr<Impl> impl;
17
18public:
19 LLAPI
20 FileSink(
21 std::filesystem::path const& path,
22 Polymorphic<Formatter> formatter,
24 );
25
26 LLAPI ~FileSink() override;
27
28 LLAPI void setFormatter(Polymorphic<Formatter> fmter) override;
29
30 LLAPI void append(LogMessageView const& view) override;
31
32 LLAPI void flush() override;
33
34 LLAPI void setFlushLevel(LogLevel level) override;
35
39 LLAPI void setPolicy(RotatePolicy policy);
40
43 LLAPI void rotate();
44};
45} // namespace ll::io
LLAPI void setPolicy(RotatePolicy policy)
LLAPI void rotate()
Definition RotatePolicy.h:73
static LLNDAPI RotatePolicy disabled()
A policy that never rotates.
Definition LogMessage.h:12