summaryrefslogtreecommitdiffstats
path: root/yql/essentials/utils/log/fwd_backend.h
blob: 144d2eccee292da084083f765dd50735eacd0ce8 (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 <library/cpp/logger/backend.h>

#include <util/generic/ptr.h>

namespace NYql::NLog {

    class TForwardingLogBackend: public TLogBackend {
    public:
        explicit TForwardingLogBackend(TAutoPtr<TLogBackend> child);

        void WriteData(const TLogRecord& rec) override;
        void ReopenLog() override;
        void ReopenLogNoFlush() override;
        ELogPriority FiltrationLevel() const override;
        size_t QueueSize() const override;

        void SetChild(TAutoPtr<TLogBackend> child);
        TAutoPtr<TLogBackend> GetChild() const;

    private:
        TAutoPtr<TLogBackend> Child_;
    };

} // namespace NYql::NLog