Logging

Spring Boot Actuator 包括在运行时查看和配置应用程序日志级别的功能。 您可以查看整个列表或单个记录器的配置,该配置由显式配置的日志记录级别以及日志记录框架给出的有效日志记录级别组成。 这些级别可以是以下级别之一:spring-doc.cadn.net.cn

null表示没有显式配置。spring-doc.cadn.net.cn

配置记录器

要配置给定的记录器,POST资源 URI 的部分实体,如以下示例所示:spring-doc.cadn.net.cn

{
	"configuredLevel": "DEBUG"
}
要“重置”记录器的特定级别(并改用默认配置),您可以传递一个null作为configuredLevel.

开放遥测

默认情况下,未配置通过 OpenTelemetry 进行日志记录。 必须提供 OpenTelemetry 日志终结点的位置才能对其进行配置:spring-doc.cadn.net.cn

management.otlp.logging.endpoint=https://otlp.example.com:4318/v1/logs
management:
  otlp:
    logging:
      endpoint: "https://otlp.example.com:4318/v1/logs"
OpenTelemetry Logback 附加程序和 Log4j 附加程序不是 Spring Boot 的一部分。 有关更多详细信息,请参阅 OpenTelemetry Java 检测 GitHub 存储库中的 OpenTelemetry Logback 附加器OpenTelemetry Log4j2 附加器
您必须在logback-spring.xmllog4j2-spring.xml配置以使 OpenTelemetry 日志记录正常工作。

OpenTelemetryAppender对于 Logback 和 Log4j 都需要访问OpenTelemetry实例正常运行。 此实例必须在应用程序启动期间以编程方式设置,可以这样完成:spring-doc.cadn.net.cn

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)

}