aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/logger/sync_page_cache_file.h
blob: e50aade08f93f512d14f67425a1c5ebc764ba001 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "backend.h"

#include <util/datetime/base.h>
#include <util/generic/fwd.h>
#include <util/generic/maybe.h>
#include <util/generic/ptr.h>

class TSyncPageCacheFileLogBackend final: public TLogBackend {
public:
    TSyncPageCacheFileLogBackend(
        const TString& path,
        size_t maxBufferSize,
        size_t maxPendingCacheSize,
        TMaybe<TDuration> bufferFlushPeriod = Nothing()
    );
    ~TSyncPageCacheFileLogBackend();

    void WriteData(const TLogRecord& rec) override;
    void ReopenLog() override;

private:
    class TImpl;
    THolder<TImpl> Impl_;
};