1
#pragma once
2

            
3
#include <string>
4

            
5
#include "envoy/access_log/access_log_config.h"
6

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

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

            
22
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
23

            
24
  std::string name() const override;
25
};
26

            
27
} // namespace HttpGrpc
28
} // namespace AccessLoggers
29
} // namespace Extensions
30
} // namespace Envoy