1
#pragma once
2

            
3
#include "envoy/access_log/access_log_config.h"
4

            
5
namespace Envoy {
6
namespace Extensions {
7
namespace AccessLoggers {
8
namespace Fluentd {
9

            
10
/**
11
 * Config registration for the fluentd access log. @see AccessLogInstanceFactory.
12
 */
13
class FluentdAccessLogFactory : public AccessLog::AccessLogInstanceFactory {
14
public:
15
  AccessLog::InstanceSharedPtr
16
  createAccessLogInstance(const Protobuf::Message& config, AccessLog::FilterPtr&& filter,
17
                          Server::Configuration::GenericFactoryContext& context,
18
                          std::vector<Formatter::CommandParserPtr>&& command_parsers = {}) override;
19

            
20
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
21

            
22
  std::string name() const override;
23
};
24

            
25
} // namespace Fluentd
26
} // namespace AccessLoggers
27
} // namespace Extensions
28
} // namespace Envoy