Chapter 4. Configuring JSON logging format


You can change the output format of the console log to JSON to make it easier to process and store the log information for later analysis.

To configure the JSON logging format, you need to add the quarkus-logging-json extension to your Quarkus project. The quarkus-logging-json extension replaces the output format configuration from the console configuration. The console configuration items such as the format string and the color settings will be ignored. Other console configuration items, including those controlling asynchronous logging and the logging level, continue to be applied.

Procedure

  1. Add the quarkus-logging-json extension to the pom.xml file of your application:

    pom.xml

      <dependencies>
        <!-- ... your other dependencies are here ... -->
        <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-logging-json</artifactId>
        </dependency>
      </dependencies>
    Copy to Clipboard Toggle word wrap

  2. (Optional) Set a profile-specific configuration for JSON logging in your application.properties file:

    src/main/resources/application.properties

    %<profile>.<configuration_key>=<value>
    Copy to Clipboard Toggle word wrap

    The following example shows how you can disable JSON logging for the development and test profiles:

    src/main/resources/application.properties

    %dev.quarkus.log.console.json=false
    %test.quarkus.log.console.json=false
    Copy to Clipboard Toggle word wrap

4.1. JSON logging configuration properties

You can configure the JSON logging extension with the following configuration properties:

Expand
Table 4.1. JSON configuration properties
Configuration propertyDescriptionTypeDefault

quarkus.log.console.json

Enable the JSON console formatting extension.

boolean

true

quarkus.log.console.json.pretty-print

Enable pretty printing of the JSON record. [a]

boolean

false

quarkus.log.console.json.date-format

The format for dates. The default string sets the default format to be used.

string

default

quarkus.log.console.json.record-delimiter

Special end-of-record delimiter. By default, newline is used as delimiter.

string

 

quarkus.log.console.json.zone-id

The ID for zone. The default string sets the default zone to be used.

string

default

quarkus.log.console.json.exception-output-type

The output type for exception.

detailed, formatted, detailed-and-formatted

detailed

quarkus.log.console.json.print-details

Enable detailed printing of the logs. The details include the source class name, source file name, source method name, and source line number. [b]

boolean

false

[a] Some processors and JSON parsers might fail to read pretty printed output.
[b] Printing the details can be expensive as the values are retrieved from the caller.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat