Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property

Type

Default

whether to activate dev services or not

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_ENABLED

boolean

Override the docker image used for the Splunk dev service

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_IMAGE_NAME

string

Whether the instance of splunk can be shared between runs in DEV mode.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_SHARED

boolean

true

Determine whether to enable the handler

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_ENABLED

boolean

true

The splunk handler log level. By default, it is no more strict than the root handler level.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_LEVEL

Level

ALL

Splunk HEC endpoint base url.

With raw events, the endpoint targeted is /services/collector/raw. With flat or nested JSON events, the endpoint targeted is /services/collector/event/1.0.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_URL

string

https://localhost:8088/

Disable TLS certificate validation with HEC endpoint

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DISABLE_CERTIFICATE_VALIDATION

boolean

false

The application token to authenticate with HEC, the token is mandatory if the extension is enabled https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#HEC_token

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_TOKEN

string

The strategy to send events to HEC.

In sequential mode, there is only one HTTP connection to HEC and the order of events is preserved, but performance is lower. In parallel mode, event batches are sent asynchronously over multiple HTTP connections, and events with the same timestamp (that has 1 millisecond resolution) may be indexed out of order by Splunk.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_SEND_MODE

sequential, parallel

sequential

A GUID to identify an HEC client and guarantee isolation at HEC level in case of slow clients. https://docs.splunk.com/Documentation/Splunk/latest/Data/AboutHECIDXAck#About_channels_and_sending_data

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_CHANNEL

string

Batching delay before sending a group of events. If 0, the events are sent immediately.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_BATCH_INTERVAL

Duration

10S

Maximum number of events in a batch. By default 10, if 0 no batching.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_BATCH_SIZE_COUNT

long

10

Maximum total size in bytes of events in a batch. By default 10KB, if 0 no batching.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_BATCH_SIZE_BYTES

long

10240

Maximum number of retries in case of I/O exceptions with HEC connection.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_MAX_RETRIES

long

0

A middleware to customize the behavior of sending events to Splunk.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_MIDDLEWARE

string

The log format, defining which metadata are inlined inside the log main payload.

Specific metadata (hostname, category, thread name, …​), as well as MDC key/value map, can also be sent in a structured way.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_FORMAT

string

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n

Whether to send the thrown exception message as a structured metadata of the log event (as opposed to %e in a formatted message, it does not include the exception name or stacktrace). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_INCLUDE_EXCEPTION

boolean

false

Whether to send the logger name as a structured metadata of the log event (equivalent of %c in a formatted message). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_INCLUDE_LOGGER_NAME

boolean

false

Whether to send the thread name as a structured metadata of the log event (equivalent of %t in a formatted message). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_INCLUDE_THREAD_NAME

boolean

false

Overrides the host name metadata value.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_HOST

string

The equivalent of %h in a formatted message

The source value to assign to the event data. For example, if you’re sending data from an app you’re developing, you could set this key to the name of the app. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_SOURCE

string

The optional format of the events, to enable some parsing on Splunk side. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

A given source type may have indexed fields extraction enabled, which is the case of the built-in _json used for nested serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_SOURCE_TYPE

string

_json for nested serialization, not set otherwise

The optional name of the index by which the event data is to be stored. If set, it must be within the list of allowed indexes of the token (if it has the indexes parameter set). https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_INDEX

string

The name of the key used to convey the severity / log level in the metadata fields. Only applicable to 'flat' serialization. With 'nested' serialization, there is already a 'severity' field.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_SEVERITY_FIELD_NAME

string

severity

The format of the payload.

  • With raw serialization, the log message is sent 'as is' in the HTTP body. Metadata can only be common to a whole batch and are sent via HTTP parameters.

  • With nested serialization, the log message is sent into a 'message' field of a JSON structure which also contains dynamic metadata.

  • With flat serialization, the log message is sent into the root 'event' field. Dynamic metadata is sent via the 'fields' root object.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_SERIALIZATION

raw, nested, flat

nested

The name of the named filter to link to the splunk handler.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_FILTER

string

Indicates whether to log asynchronously

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_ASYNC

boolean

false

The queue length to use before flushing writing

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_ASYNC_QUEUE_LENGTH

int

512

Determine whether to block the publisher (rather than drop the message) when the queue is full

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_ASYNC_OVERFLOW

block, discard

block

The API URL the splunk dev service listens on.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_API_URL

string

Additional environment variables to inject.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_CONTAINER_ENV

Map<String,String>

Map that allows to tell to plug the following named handlers to the dev service

It is necessary as we do not have access to runtime configuration when starting the Splunk container.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_DEVSERVICES_PLUG_NAMED_HANDLERS

Map<String,Boolean>

Optional static key/value pairs to populate the "fields" key of event metadata. This isn’t applicable to raw serialization. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_METADATA_FIELDS

Map<String,String>

Determine whether to enable the handler

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__ENABLED

boolean

true

The splunk handler log level. By default, it is no more strict than the root handler level.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__LEVEL

Level

ALL

Splunk HEC endpoint base url.

With raw events, the endpoint targeted is /services/collector/raw. With flat or nested JSON events, the endpoint targeted is /services/collector/event/1.0.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__URL

string

https://localhost:8088/

Disable TLS certificate validation with HEC endpoint

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__DISABLE_CERTIFICATE_VALIDATION

boolean

false

The application token to authenticate with HEC, the token is mandatory if the extension is enabled https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#HEC_token

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__TOKEN

string

The strategy to send events to HEC.

In sequential mode, there is only one HTTP connection to HEC and the order of events is preserved, but performance is lower. In parallel mode, event batches are sent asynchronously over multiple HTTP connections, and events with the same timestamp (that has 1 millisecond resolution) may be indexed out of order by Splunk.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__SEND_MODE

sequential, parallel

sequential

A GUID to identify an HEC client and guarantee isolation at HEC level in case of slow clients. https://docs.splunk.com/Documentation/Splunk/latest/Data/AboutHECIDXAck#About_channels_and_sending_data

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__CHANNEL

string

Batching delay before sending a group of events. If 0, the events are sent immediately.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__BATCH_INTERVAL

Duration

10S

Maximum number of events in a batch. By default 10, if 0 no batching.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__BATCH_SIZE_COUNT

long

10

Maximum total size in bytes of events in a batch. By default 10KB, if 0 no batching.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__BATCH_SIZE_BYTES

long

10240

Maximum number of retries in case of I/O exceptions with HEC connection.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__MAX_RETRIES

long

0

A middleware to customize the behavior of sending events to Splunk.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__MIDDLEWARE

string

The log format, defining which metadata are inlined inside the log main payload.

Specific metadata (hostname, category, thread name, …​), as well as MDC key/value map, can also be sent in a structured way.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__FORMAT

string

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] (%t) %s%e%n

Whether to send the thrown exception message as a structured metadata of the log event (as opposed to %e in a formatted message, it does not include the exception name or stacktrace). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__INCLUDE_EXCEPTION

boolean

false

Whether to send the logger name as a structured metadata of the log event (equivalent of %c in a formatted message). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__INCLUDE_LOGGER_NAME

boolean

false

Whether to send the thread name as a structured metadata of the log event (equivalent of %t in a formatted message). Only applicable to 'nested' serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__INCLUDE_THREAD_NAME

boolean

false

Overrides the host name metadata value.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_HOST

string

The equivalent of %h in a formatted message

The source value to assign to the event data. For example, if you’re sending data from an app you’re developing, you could set this key to the name of the app. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_SOURCE

string

The optional format of the events, to enable some parsing on Splunk side. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

A given source type may have indexed fields extraction enabled, which is the case of the built-in _json used for nested serialization.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_SOURCE_TYPE

string

_json for nested serialization, not set otherwise

The optional name of the index by which the event data is to be stored. If set, it must be within the list of allowed indexes of the token (if it has the indexes parameter set). https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_INDEX

string

Optional static key/value pairs to populate the "fields" key of event metadata. This isn’t applicable to raw serialization. https://docs.splunk.com/Documentation/Splunk/latest/Data/FormateventsforHTTPEventCollector#Event_metadata

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_FIELDS

Map<String,String>

The name of the key used to convey the severity / log level in the metadata fields. Only applicable to 'flat' serialization. With 'nested' serialization, there is already a 'severity' field.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__METADATA_SEVERITY_FIELD_NAME

string

severity

The format of the payload.

  • With raw serialization, the log message is sent 'as is' in the HTTP body. Metadata can only be common to a whole batch and are sent via HTTP parameters.

  • With nested serialization, the log message is sent into a 'message' field of a JSON structure which also contains dynamic metadata.

  • With flat serialization, the log message is sent into the root 'event' field. Dynamic metadata is sent via the 'fields' root object.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__SERIALIZATION

raw, nested, flat

nested

The name of the named filter to link to the splunk handler.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__FILTER

string

Indicates whether to log asynchronously

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__ASYNC

boolean

false

The queue length to use before flushing writing

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__ASYNC_QUEUE_LENGTH

int

512

Determine whether to block the publisher (rather than drop the message) when the queue is full

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK__NAMED_HANDLERS__ASYNC_OVERFLOW

block, discard

block

Sets the default connect timeout for new connections in milliseconds.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_CONNECTTIMEOUT

long

3000

Sets the default timeout for complete calls in milliseconds.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_CALLTIMEOUT

long

0

Sets the default read timeout for new connections in milliseconds.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_READTIMEOUT

long

10000

Sets the default write timeout for new connections in milliseconds.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_WRITETIMEOUT

long

10000

Sets the default termination timeout during a flush in milliseconds.

Environment variable: QUARKUS_LOG_HANDLER_SPLUNK_TERMINATIONTIMEOUT

long

0

About the Duration format

To write duration values, use the standard java.time.Duration format. See the Duration#parse() Java API documentation for more information.

You can also use a simplified format, starting with a number:

  • If the value is only a number, it represents time in seconds.

  • If the value is a number followed by ms, it represents time in milliseconds.

In other cases, the simplified format is translated to the java.time.Duration format for parsing:

  • If the value is a number followed by h, m, or s, it is prefixed with PT.

  • If the value is a number followed by d, it is prefixed with P.