日志器

Spring Boot Actuator 支持在运行时查看和配置应用的日志级别。 你可以查看全部日志器列表,也可以查看单个日志器的配置,包括显式配置的日志级别和日志框架赋予的有效日志级别。 日志级别包括:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • OFF

  • null

null 表示没有显式配置。

配置日志器

如需配置指定日志器,可向资源 URI POST 一个部分实体,如下所示:

{
	"configuredLevel": "DEBUG"
}
若要“重置”日志器的特定级别(恢复为默认配置),可将 configuredLevel 设为 null

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 仓库
如需启用 OpenTelemetry 日志记录,需在 logback-spring.xmllog4j2-spring.xml 配置中配置 appender。

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);
	}

}