日志器
Spring Boot Actuator 包含了在运行时查看和配置应用程序日志级别的功能。你可以查看整个列表或单个日志记录器的配置,它由显式配置的日志级别以及日志框架赋予的有效日志级别组成。这些级别可以是
-
TRACE -
DEBUG -
INFO -
WARN -
ERROR -
FATAL -
OFF -
null
null 表示没有显式配置。
配置日志记录器
要配置给定的日志记录器,请向资源的 URI POST 一个部分实体,如下例所示
{
"configuredLevel": "DEBUG"
}
要“重置”日志记录器的特定级别(并转而使用默认配置),你可以将 configuredLevel 的值设置为 null。 |
OpenTelemetry
默认情况下,未配置通过 OpenTelemetry 进行日志记录。你需要提供 OpenTelemetry 日志端点的位置来配置它
-
属性
-
YAML
management.opentelemetry.logging.export.otlp.endpoint=https://otlp.example.com:4318/v1/logs
management:
opentelemetry:
logging:
export:
otlp:
endpoint: "https://otlp.example.com:4318/v1/logs"
| OpenTelemetry Logback appender 和 Log4j appender 不属于 Spring Boot。有关更多详细信息,请参阅 OpenTelemetry Logback appender 或 OpenTelemetry Log4j2 appender,它们都在 OpenTelemetry Java instrumentation GitHub 存储库中。 |
你必须在 logback-spring.xml 或 log4j2-spring.xml 配置中配置 appender 才能使 OpenTelemetry 日志记录工作。 |
Logback 和 Log4j 的 OpenTelemetryAppender 都需要访问 OpenTelemetry 实例才能正常运行。此实例必须在应用程序启动期间以编程方式设置,可以这样做
-
Java
-
Kotlin
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
@Component
class OpenTelemetryAppenderInitializer implements InitializingBean {
private final OpenTelemetry openTelemetry;
OpenTelemetryAppenderInitializer(OpenTelemetry openTelemetry) {
this.openTelemetry = openTelemetry;
}
@Override
public void afterPropertiesSet() {
OpenTelemetryAppender.install(this.openTelemetry);
}
}
import io.opentelemetry.api.OpenTelemetry
import io.opentelemetry.instrumentation.logback.appender.v1_0.OpenTelemetryAppender
import org.springframework.beans.factory.InitializingBean
import org.springframework.stereotype.Component
@Component
class OpenTelemetryAppenderInitializer(
private val openTelemetry: OpenTelemetry
) : InitializingBean {
override fun afterPropertiesSet() = OpenTelemetryAppender.install(openTelemetry)
}