Line data Source code
1 : #include "source/extensions/access_loggers/stream/config.h" 2 : 3 : #include <memory> 4 : 5 : #include "envoy/extensions/access_loggers/stream/v3/stream.pb.h" 6 : #include "envoy/extensions/access_loggers/stream/v3/stream.pb.validate.h" 7 : #include "envoy/registry/registry.h" 8 : #include "envoy/server/filter_config.h" 9 : 10 : #include "source/common/common/logger.h" 11 : #include "source/common/config/utility.h" 12 : #include "source/common/formatter/substitution_format_string.h" 13 : #include "source/common/formatter/substitution_formatter.h" 14 : #include "source/common/protobuf/protobuf.h" 15 : #include "source/extensions/access_loggers/common/file_access_log_impl.h" 16 : #include "source/extensions/access_loggers/common/stream_access_log_common_impl.h" 17 : 18 : namespace Envoy { 19 : namespace Extensions { 20 : namespace AccessLoggers { 21 : namespace File { 22 : 23 : AccessLog::InstanceSharedPtr 24 : StdoutAccessLogFactory::createAccessLogInstance(const Protobuf::Message& config, 25 : AccessLog::FilterPtr&& filter, 26 0 : Server::Configuration::FactoryContext& context) { 27 0 : return AccessLoggers::createStreamAccessLogInstance< 28 0 : envoy::extensions::access_loggers::stream::v3::StdoutAccessLog, 29 0 : Filesystem::DestinationType::Stdout>(config, std::move(filter), context); 30 0 : } 31 : 32 24 : ProtobufTypes::MessagePtr StdoutAccessLogFactory::createEmptyConfigProto() { 33 24 : return ProtobufTypes::MessagePtr{ 34 24 : new envoy::extensions::access_loggers::stream::v3::StdoutAccessLog()}; 35 24 : } 36 : 37 173 : std::string StdoutAccessLogFactory::name() const { return "envoy.access_loggers.stdout"; } 38 : 39 : /** 40 : * Static registration for the file access log. @see RegisterFactory. 41 : */ 42 : LEGACY_REGISTER_FACTORY(StdoutAccessLogFactory, AccessLog::AccessLogInstanceFactory, 43 : "envoy.stdout_access_log"); 44 : 45 : AccessLog::InstanceSharedPtr 46 : StderrAccessLogFactory::createAccessLogInstance(const Protobuf::Message& config, 47 : AccessLog::FilterPtr&& filter, 48 0 : Server::Configuration::FactoryContext& context) { 49 0 : return createStreamAccessLogInstance< 50 0 : envoy::extensions::access_loggers::stream::v3::StderrAccessLog, 51 0 : Filesystem::DestinationType::Stderr>(config, std::move(filter), context); 52 0 : } 53 : 54 24 : ProtobufTypes::MessagePtr StderrAccessLogFactory::createEmptyConfigProto() { 55 24 : return ProtobufTypes::MessagePtr{ 56 24 : new envoy::extensions::access_loggers::stream::v3::StderrAccessLog()}; 57 24 : } 58 : 59 173 : std::string StderrAccessLogFactory::name() const { return "envoy.access_loggers.stderr"; } 60 : 61 : /** 62 : * Static registration for the `stderr` access log. @see RegisterFactory. 63 : */ 64 : LEGACY_REGISTER_FACTORY(StderrAccessLogFactory, AccessLog::AccessLogInstanceFactory, 65 : "envoy.stderr_access_log"); 66 : 67 : } // namespace File 68 : } // namespace AccessLoggers 69 : } // namespace Extensions 70 : } // namespace Envoy