日誌器

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 appenderOpenTelemetry Log4j2 appender,它們都在 OpenTelemetry Java instrumentation GitHub 儲存庫中。
你必須在 logback-spring.xmllog4j2-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)

}
© . This site is unofficial and not affiliated with VMware.