java.lang.Object
io.helidon.webserver.accesslog.AccessLogFeature
- All Implemented Interfaces:
RuntimeType.Api<AccessLogConfig>
,NamedService
,Weighted
,ServerFeature
,Comparable<Weighted>
public final class AccessLogFeature
extends Object
implements Weighted, ServerFeature, RuntimeType.Api<AccessLogConfig>
Service that adds support for Access logging to Server.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.helidon.webserver.spi.ServerFeature
ServerFeature.RoutingBuilders, ServerFeature.ServerFeatureContext, ServerFeature.SocketBuilders
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Name of theSystem.getLogger(String)
used to log access log records.Fields inherited from interface io.helidon.common.Weighted
DEFAULT_WEIGHT
-
Method Summary
Modifier and TypeMethodDescriptionstatic AccessLogConfig.Builder
builder()
A new fluent API builder to create Access log support instance.static AccessLogFeature
create()
Create Access log support with default configuration.static AccessLogFeature
Create Access log support configured fromConfig
.static AccessLogFeature
create
(AccessLogConfig config) Create a new instance from its configuration.static AccessLogFeature
create
(Consumer<AccessLogConfig.Builder> builderConsumer) Create a new instance customizing its configuration.name()
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.The prototype as it was received when creating this runtime object instance.void
setup
(ServerFeature.ServerFeatureContext featureContext) Set up a server feature.type()
Type of this implementation, to distinguish instances of same type, with differentNamedService.name()
.double
weight()
Weight of this class (maybe because it is defined dynamically, so it cannot be defined by an annotation).
-
Field Details
-
DEFAULT_LOGGER_NAME
Name of theSystem.getLogger(String)
used to log access log records. The message logged contains all information, so the format should be modified to only log the message.- See Also:
-
-
Method Details
-
create
Create Access log support with default configuration.- Returns:
- a new access log support to be registered with WebServer routing
-
create
Create Access log support configured fromConfig
.- Parameters:
config
- to configure a new access log support instance- Returns:
- a new access log support to be registered with WebServer routing
-
builder
A new fluent API builder to create Access log support instance.- Returns:
- a new builder
-
create
Create a new instance from its configuration.- Parameters:
config
- configuration- Returns:
- a new feature
-
create
Create a new instance customizing its configuration.- Parameters:
builderConsumer
- consumer of configuration- Returns:
- a new feature
-
setup
Description copied from interface:ServerFeature
Set up a server feature. Server features can modify server configuration, right before the server is created. To access listener configuration, or routing, a list of all listeners is provided.- Specified by:
setup
in interfaceServerFeature
- Parameters:
featureContext
- to access builders of webserver, listeners, and routing
-
prototype
Description copied from interface:RuntimeType.Api
The prototype as it was received when creating this runtime object instance.- Specified by:
prototype
in interfaceRuntimeType.Api<AccessLogConfig>
- Returns:
- prototype object used to create this instance
-
name
Description copied from interface:NamedService
Name of this implementation, as provided inConfiguredProvider.create(Config, String)
.- Specified by:
name
in interfaceNamedService
- Returns:
- name of this service
-
type
Description copied from interface:NamedService
Type of this implementation, to distinguish instances of same type, with differentNamedService.name()
. Use for exampleConfiguredProvider.configKey()
to define the type.- Specified by:
type
in interfaceNamedService
- Returns:
- type of this service
-
weight
public double weight()Description copied from interface:Weighted
Weight of this class (maybe because it is defined dynamically, so it cannot be defined by an annotation). If not dynamic, you can use theWeight
annotation rather than implementing this interface as long as it is supported by the library using thisWeighted
.
-