通过环境变量设置 Quarkus 日志记录类别级别
Set Quarkus Logging Category Level via Environment Variables
在Spring中,可以设置Logging Category Level via 。我在具有以下记录器声明的 Quarkus 应用程序中尝试了相同的操作:
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;
}
}
使用
执行构建工件
QUARKUS_LOG_CATEGORY_ORG_MY_LEVEL=WARN java -jar my-artifactId-my-version-runner.jar
将在信息级别记录任何内容(因为它是默认设置),因此是“你好”消息。
但是,插入
quarkus.log.category."org.my".level=WARN
在 application.properties
文件中可以正常工作。此用例中的环境变量是否不适用于 Quarkus 应用程序?
您应该可以像这样使用系统 属性(!= 环境变量):
java -Dquarkus.log.category.\"org.my\".level=WARN ...
注意:系统属性将覆盖其 application.properties,quarkus.profile due to a bug.
除外
不知道环境变量是否也可以覆盖它们。也许 "
需要转义。 (我发现环境变量很脆弱,我更喜欢系统属性。)
你可以这样做:
quarkus.log.category."org.my".level=${LOG_LVL:INFO}
这只是意味着:使用我的环境变量“LOG_LVL”中的日志级别,如果不存在,则使用 INFO 作为默认值。
您可以将此变量设置为 env.variable 或在启动期间将其作为系统参数传递,但我不确定作为系统参数的语法。
刚刚尝试使用 quarkus 1.13.1 并为引号添加额外的下划线似乎有效,尝试:
QUARKUS_LOG_CATEGORY__ORG_MY__LEVEL=警告
在Spring中,可以设置Logging Category Level via
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;
}
}
使用
执行构建工件QUARKUS_LOG_CATEGORY_ORG_MY_LEVEL=WARN java -jar my-artifactId-my-version-runner.jar
将在信息级别记录任何内容(因为它是默认设置),因此是“你好”消息。
但是,插入
quarkus.log.category."org.my".level=WARN
在 application.properties
文件中可以正常工作。此用例中的环境变量是否不适用于 Quarkus 应用程序?
您应该可以像这样使用系统 属性(!= 环境变量):
java -Dquarkus.log.category.\"org.my\".level=WARN ...
注意:系统属性将覆盖其 application.properties,quarkus.profile due to a bug.
除外不知道环境变量是否也可以覆盖它们。也许 "
需要转义。 (我发现环境变量很脆弱,我更喜欢系统属性。)
你可以这样做:
quarkus.log.category."org.my".level=${LOG_LVL:INFO}
这只是意味着:使用我的环境变量“LOG_LVL”中的日志级别,如果不存在,则使用 INFO 作为默认值。
您可以将此变量设置为 env.variable 或在启动期间将其作为系统参数传递,但我不确定作为系统参数的语法。
刚刚尝试使用 quarkus 1.13.1 并为引号添加额外的下划线似乎有效,尝试:
QUARKUS_LOG_CATEGORY__ORG_MY__LEVEL=警告