日誌器

Spring Boot Actuator 包含了在執行時檢視和配置應用日誌級別的能力。你可以檢視整個列表或單個日誌器的配置,其配置由顯式配置的日誌級別和日誌框架賦予的有效日誌級別共同組成。這些級別可以是以下之一:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • OFF

  • null

null 表示沒有顯式配置。

配置日誌器

要配置給定的日誌器,請向資源的 URI 傳送 POST 請求,並攜帶部分實體,如下例所示:

{
	"configuredLevel": "DEBUG"
}
要“重置”日誌器的特定級別(並使用預設配置),可以將 null 作為 configuredLevel 的值傳遞。

OpenTelemetry

預設情況下,透過 OpenTelemetry 進行日誌記錄未配置。你必須提供 OpenTelemetry 日誌端點的位置來配置它

  • Properties

  • YAML

management.otlp.logging.endpoint=https://otlp.example.com:4318/v1/logs
management:
  otlp:
    logging:
      endpoint: "https://otlp.example.com:4318/v1/logs"
OpenTelemetry Logback appender 和 Log4j appender 不是 Spring Boot 的一部分。更多詳情請參見 OpenTelemetry Logback appenderOpenTelemetry Log4j2 appender(位於 OpenTelemetry Java instrumentation GitHub 倉庫中)。
你必須在你的 logback-spring.xmllog4j2-spring.xml 配置中配置 appender,才能使 OpenTelemetry 日誌記錄工作。

Logback 和 Log4j 的 OpenTelemetryAppender 都需要訪問 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 implements InitializingBean {

	private final OpenTelemetry openTelemetry;

	OpenTelemetryAppenderInitializer(OpenTelemetry openTelemetry) {
		this.openTelemetry = openTelemetry;
	}

	@Override
	public void afterPropertiesSet() {
		OpenTelemetryAppender.install(this.openTelemetry);
	}

}