Sincostan
Sincostan

Reputation: 371

Set Quarkus Logging Category Level via Environment Variables

In Spring, it is possible to set the Logging Category Level via environment variables. I've tried the same in a Quarkus application with the following logger declaration:

package org.my.group.resteasyjackson;

public class JacksonResource {

  private static final Logger LOGGER = LoggerFactory.getLogger(JacksonResource.class);
  
  @GET
  public Set<Quark> list() {
    LOGGER.info("Hello");
    return quarks;
  }
}

Executing the build artifact with

QUARKUS_LOG_CATEGORY_ORG_MY_LEVEL=WARN java -jar my-artifactId-my-version-runner.jar

will log anything at info level (since it is the default), therefore the "Hello" message.

However, inserting

quarkus.log.category."org.my".level=WARN

in the application.properties file works as desired. Are environment variables in this use case not usable for Quarkus applications?

Upvotes: 12

Views: 4315

Answers (3)

Steven Hawkins
Steven Hawkins

Reputation: 588

Just tried with quarkus 1.13.1 and adding extra underscores for the quotes seems to work, try:

QUARKUS_LOG_CATEGORY__ORG_MY__LEVEL=WARN

Upvotes: 17

Serkan
Serkan

Reputation: 1205

You can do this:

quarkus.log.category."org.my".level=${LOG_LVL:INFO}

This simply means: use the log-level from my env variable "LOG_LVL" and if this is not present use INFO as default.

You can set this variable either as an env.variable or pass it through as system parameter during startup, but I'm not sure about the syntax as system parameter.

Upvotes: 1

Geoffrey De Smet
Geoffrey De Smet

Reputation: 27312

You should be able to use a system property (!= environment variable) like this:

java -Dquarkus.log.category.\"org.my\".level=WARN ...

Note: system properties will overrwite their application.properties, except for a quarkus.profile due to a bug.

No idea if environment variables can overwrite them too. Maybe the " need to be escaped. (I find environment variables brittle, I prefer system properties.)

Upvotes: 0

Related Questions