1
#pragma once
2

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

            
5
#include "source/extensions/access_loggers/dynamic_modules/access_log_config.h"
6

            
7
namespace Envoy {
8
namespace Extensions {
9
namespace AccessLoggers {
10
namespace DynamicModules {
11

            
12
class DynamicModuleAccessLogFactory : public AccessLog::AccessLogInstanceFactory {
13
public:
14
  AccessLog::InstanceSharedPtr
15
  createAccessLogInstance(const Protobuf::Message& config, AccessLog::FilterPtr&& filter,
16
                          Server::Configuration::GenericFactoryContext& context,
17
                          std::vector<Formatter::CommandParserPtr>&& command_parsers) override;
18

            
19
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
20

            
21
9
  std::string name() const override { return "envoy.access_loggers.dynamic_modules"; }
22
};
23

            
24
} // namespace DynamicModules
25
} // namespace AccessLoggers
26
} // namespace Extensions
27
} // namespace Envoy