日誌器
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)
}