转载于:https://www.jianshu.com/p/af9738634a21
Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程序。Actuator 的这些特性可以通过众多 REST 接口、远程 shell 和 JMX 获得。
一、Actuator 的 REST 接口
Spring Boot Actuator 的关键特性是在应用程序里提供众多 Web 接口,通过它们了解应用程序运行时的内部状况。Actuator 提供了 13 个接口,可以分为三大类:配置接口、度量接口和其它接口,具体如下表所示。
HTTP 方法 | 路径 | 描述 |
---|---|---|
GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入Bean |
GET | /beans | 描述应用程序上下文里全部的Bean,以及它们的关系 |
GET | /dump | 获取线程活动的快照 |
GET | /env | 获取全部环境属性 |
GET | /env/{name} | 根据名称获取特定的环境属性值 |
GET | /health | 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供 |
GET | /info | 获取应用程序的定制信息,这些信息由info打头的属性提供 |
GET | /mappings | 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系 |
GET | /metrics | 报告各种应用程序度量信息,比如内存用量和HTTP请求计数 |
GET | /metrics/{name} | 报告指定名称的应用程序度量值 |
POST | /shutdown | 关闭应用程序,要求endpoints.shutdown.enabled设置为true |
GET | /trace | 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等) |
要启用 Actuator 的端点,只要在项目中引入 Actuator 的依赖即可。对于 Maven 依赖,引入的依赖是这样的:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
1. 查看配置明细
Actuator 有一些接口不仅可以显示组件映射关系,还可以告诉你自动配置在配置 Spring 应用程序上下文时做了哪些决策。
1.1 获得 Bean 装配报告
要了解应用程序中 Spring 上下文的情况,最重要的接口就是 /beans
。它会返回一个 JSON 文档,描述上下文里每个 bean 的情况,包括其 Java 类型以及注入的其它 bean。返回的信息如下所示:
[
{
"context": "application",
"parent": null,
"beans": [
{
"bean": "demoApplication",
"aliases": [],
"scope": "singleton",
"type": "com.example.DemoApplication$$EnhancerBySpringCGLIB$$88686e04",
"resource": "null",
"dependencies": []
},
{
"bean": "org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory",
"aliases": [],
"scope": "singleton",
"type": "org.springframework.core.type.classreading.CachingMetadataReaderFactory",
"resource": "null",
"dependencies": []
}
]
}
]
所有的 Bean 条目都有五类信息:
- bean:Spring 应用程序上下文中的 Bean 名称或 ID。
- resource:.class 文件的物理位置,通常是一个 URL,指向构建出的 JAR 文件。这会随着应用程序的构建和运行方式发生变化。
- dependencies:当前 Bean 注入的 Bean ID 列表。
- scope:Bean 的作用域(通常是单例,这也是默认作用域)。
- type:Bean 的 Java 类型。
1.2 详解自动配置
/autoconfig
接口能告诉你为什么会有这个 bean ,或者为什么没有这个 bean。
{
"positiveMatches": {
"AuditAutoConfiguration#auditListener": [
{
"condition": "OnBeanCondition",
"message": "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.listener.AbstractAuditListener; SearchStrategy: all) did not find any beans"
}
],
"MultipartAutoConfiguration#multipartConfigElement": [
{
"condition": "OnBeanCondition",
"message": "@ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) did not find any beans"
}
]
},
"negativeMatches": {
"AuditAutoConfiguration#authenticationAuditListener": {
"notMatched": [
{
"condition": "OnClassCondition",
"message": "@ConditionalOnClass did not find required class 'org.springframework.security.authentication.event.AbstractAuthenticationEvent'"
}
],
"matched": []
},
"AuditAutoConfiguration#authorizationAuditListener": {
"notMatched": [
{
"condition": "OnClassCondition",
"message": "@ConditionalOnClass did not find required class 'org.springframework.security.access.event.AbstractAuthorizationEvent'"
}
],
"matched": []
}
}
}
1.3 查看配置属性
/env
接口会生成应用程序可用的所有环境属性的列表,无论这些属性是否用到。这其中包括环境变量、JVM 属性、命令行参数,以及 application.properties 或 application.yml 文件提供的属性。
{
"profiles": [],
"server.ports": {
"local.server.port": 8080
},
"servletContextInitParams": {},
"systemProperties": {
"java.runtime.name": "Java(TM) SE Runtime Environment",
"spring.output.ansi.enabled": "always",
"sun.boot.library.path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib",
"java.vm.version": "25.121-b13",
"gopherProxySet": "false",
"java.vm.vendor": "Oracle Corporation",
"java.vendor.url": "http://java.oracle.com/",
"path.separator": ":",
"idea.launcher.port": "7532",
"java.vm.name": "Java HotSpot(TM) 64-Bit Server VM",
"file.encoding.pkg": "sun.io",
"user.country": "CN",
"sun.java.launcher": "SUN_STANDARD",
"sun.os.patch.level": "unknown",
"PID": "2716",
"java.vm.specification.name": "Java Virtual Machine Specification",
"user.dir": "/Users/FlySheep/FlySheep/Code/ServerCode/SpringBoot_Demo/demo",
"java.runtime.version": "1.8.0_121-b13",
"java.awt.graphicsenv": "sun.awt.CGraphicsEnvironment",
"org.jboss.logging.provider": "slf4j",
"java.endorsed.dirs": "/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/endorsed",
"os.arch": "x86_64",
"visualvm.id": "11136812717769",
"java.io.tmpdir": "/var/folders/d6/zn9yrwns46j4pwbl1_mv_6hw0000gn/T/",
"line.separator": "
",
"java.vm.specification.vendor": "Oracle Corporation",
"os.name": "Mac OS X",
"sun.jnu.encoding": "UTF-8",
"spring.beaninfo.ignore": "true",
"java.library.path": "/Users/FlySheep/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.",
"java.specification.name": "Java Platform API Specification",
"java.class.version": "52.0",
"sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
"os.version": "10.11",
"user.home": "/Users/FlySheep",
"catalina.useNaming": "false",
"user.timezone": "Asia/Shanghai",
"java.awt.printerjob": "sun.lwawt.macosx.CPrinterJob",
"file.encoding": "UTF-8",
"idea.launcher.bin.path": "/Applications/IntelliJ IDEA.app/Contents/bin",
"java.specification.version": "1.8",
"catalina.home": "/private/var/folders/d6/zn9yrwns46j4pwbl1_mv_6hw0000gn/T/tomcat.6698906163877756728.8080",
"java.class.path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/tools.jar:/Users/FlySheep/FlySheep/Code/ServerCode/SpringBoot_Demo/demo/target/classes:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.2.RELEASE/spring-boot-starter-web-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.2.RELEASE/spring-boot-starter-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot/1.5.2.RELEASE/spring-boot-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.2.RELEASE/spring-boot-autoconfigure-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.2.RELEASE/spring-boot-starter-logging-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar:/Users/FlySheep/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar:/Users/FlySheep/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.24/jcl-over-slf4j-1.7.24.jar:/Users/FlySheep/.m2/repository/org/slf4j/jul-to-slf4j/1.7.24/jul-to-slf4j-1.7.24.jar:/Users/FlySheep/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.24/log4j-over-slf4j-1.7.24.jar:/Users/FlySheep/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.2.RELEASE/spring-boot-starter-tomcat-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.11/tomcat-embed-core-8.5.11.jar:/Users/FlySheep/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.11/tomcat-embed-el-8.5.11.jar:/Users/FlySheep/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.11/tomcat-embed-websocket-8.5.11.jar:/Users/FlySheep/.m2/repository/org/hibernate/hibernate-validator/5.3.4.Final/hibernate-validator-5.3.4.Final.jar:/Users/FlySheep/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar:/Users/FlySheep/.m2/repository/org/jboss/logging/jboss-logging/3.3.0.Final/jboss-logging-3.3.0.Final.jar:/Users/FlySheep/.m2/repository/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar:/Users/FlySheep/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.7/jackson-databind-2.8.7.jar:/Users/FlySheep/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/Users/FlySheep/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.7/jackson-core-2.8.7.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-web/4.3.7.RELEASE/spring-web-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-aop/4.3.7.RELEASE/spring-aop-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-beans/4.3.7.RELEASE/spring-beans-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-context/4.3.7.RELEASE/spring-context-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-webmvc/4.3.7.RELEASE/spring-webmvc-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-expression/4.3.7.RELEASE/spring-expression-4.3.7.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-starter-actuator/1.5.2.RELEASE/spring-boot-starter-actuator-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/springframework/boot/spring-boot-actuator/1.5.2.RELEASE/spring-boot-actuator-1.5.2.RELEASE.jar:/Users/FlySheep/.m2/repository/org/slf4j/slf4j-api/1.7.24/slf4j-api-1.7.24.jar:/Users/FlySheep/.m2/repository/org/springframework/spring-core/4.3.7.RELEASE/spring-core-4.3.7.RELEASE.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar",
"user.name": "FlySheep",
"java.vm.specification.version": "1.8",
"sun.java.command": "com.intellij.rt.execution.application.AppMain com.example.DemoApplication",
"java.home": "/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre",
"sun.arch.data.model": "64",
"user.language": "zh",
"java.specification.vendor": "Oracle Corporation",
"awt.toolkit": "sun.lwawt.macosx.LWCToolkit",
"java.vm.info": "mixed mode",
"java.version": "1.8.0_121",
"java.ext.dirs": "/Users/FlySheep/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java",
"sun.boot.class.path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/classes",
"java.awt.headless": "true",
"java.vendor": "Oracle Corporation",
"catalina.base": "/private/var/folders/d6/zn9yrwns46j4pwbl1_mv_6hw0000gn/T/tomcat.6698906163877756728.8080",
"file.separator": "/",
"java.vendor.url.bug": "http://bugreport.sun.com/bugreport/",
"sun.io.unicode.encoding": "UnicodeBig",
"sun.cpu.endian": "little",
"sun.cpu.isalist": ""
},
"systemEnvironment": {
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin:/usr/local/mysql/bin:/Users/FlySheep/FlySheep/JavaTools/apache-maven-3.3.9/bin/bin",
"SHELL": "/bin/zsh",
"PAGER": "less",
"LSCOLORS": "Gxfxcxdxbxegedabagacad",
"OLDPWD": "/Applications/IntelliJ IDEA.app/Contents/bin",
"USER": "FlySheep",
"VERSIONER_PYTHON_PREFER_32_BIT": "no",
"ZSH": "/Users/FlySheep/.oh-my-zsh",
"TMPDIR": "/var/folders/d6/zn9yrwns46j4pwbl1_mv_6hw0000gn/T/",
"SSH_AUTH_SOCK": "/private/tmp/com.apple.launchd.vZEKsGdZ1T/Listeners",
"JAVA_MAIN_CLASS_2716": "com.intellij.rt.execution.application.AppMain",
"XPC_FLAGS": "0x0",
"VERSIONER_PYTHON_VERSION": "2.7",
"__CF_USER_TEXT_ENCODING": "0x1F5:0x19:0x34",
"Apple_PubSub_Socket_Render": "/private/tmp/com.apple.launchd.5VgRuDCQ5D/Render",
"LOGNAME": "FlySheep",
"LESS": "-R",
"LC_CTYPE": "",
"PWD": "/Users/FlySheep/FlySheep/Code/ServerCode/SpringBoot_Demo/demo",
"XPC_SERVICE_NAME": "com.jetbrains.intellij.136992",
"HOME": "/Users/FlySheep"
},
"applicationConfig: [classpath:/application.properties]": {
"management.security.enabled": "false"
}
}
基本上,任何能给Spring Boot 应用程序提供属性的属性源都会列在 /env 的结果里,同时会显示具体的属性。
为了避免敏感信息暴露到 /env 里,所有名为password、secret、key(或者名字中最后一段是这些)的属性在 /env 里都会加上“*”。举个例子,如果有一个属性名字是database.password,那么它在/env中的显示效果是这样的:
"database.password":"******"
/env 接口还能用来获取单个属性的值,只需要在请求时在 /env 后加上属性名即可。
1.4 查看属性的使用方法
/configprops 接口会生成一个报告,说明属性如何进行设置(注入或其他方式)。
{
"endpoints-org.springframework.boot.actuate.endpoint.EndpointProperties": {
"prefix": "endpoints",
"properties": {
"enabled": true,
"sensitive": null
}
},
"management.info-org.springframework.boot.actuate.autoconfigure.InfoContributorProperties": {
"prefix": "management.info",
"properties": {
"git": {
"mode": "SIMPLE"
}
}
},
"metricsEndpoint": {
"prefix": "endpoints.metrics",
"properties": {
"id": "metrics",
"sensitive": true,
"enabled": true
}
},
"spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties": {
"prefix": "spring.jackson",
"properties": {
"propertyNamingStrategy": null,
"defaultPropertyInclusion": null,
"dateFormat": null,
"timeZone": null,
"locale": null,
"jodaDateTimeFormat": null
}
},
"heapdumpMvcEndpoint": {
"prefix": "endpoints.heapdump",
"properties": {
"path": "/heapdump",
"sensitive": true,
"enabled": true
}
},
"endpoints.cors-org.springframework.boot.actuate.autoconfigure.EndpointCorsProperties": {
"prefix": "endpoints.cors",
"properties": {
"allowedOrigins": [],
"maxAge": 1800,
"exposedHeaders": [],
"allowedHeaders": [],
"allowedMethods": [],
"allowCredentials": null
}
},
"environmentMvcEndpoint": {
"prefix": "endpoints.env",
"properties": {
"path": "/env"
}
},
"environmentEndpoint": {
"prefix": "endpoints.env",
"properties": {
"id": "env",
"sensitive": true,
"enabled": true
}
},
"spring.http.multipart-org.springframework.boot.autoconfigure.web.MultipartProperties": {
"prefix": "spring.http.multipart",
"properties": {
"maxRequestSize": "10MB",
"fileSizeThreshold": "0",
"location": null,
"maxFileSize": "1MB",
"enabled": true,
"resolveLazily": false
}
},
"spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties": {
"prefix": "spring.info",
"properties": {
"build": {
"location": {}
},
"git": {
"location": {}
}
}
},
"auditEventsEndpoint": {
"prefix": "endpoints.auditevents",
"properties": {
"enabled": true
}
},
"traceEndpoint": {
"prefix": "endpoints.trace",
"properties": {
"id": "trace",
"sensitive": true,
"enabled": true
}
},
"metricsMvcEndpoint": {
"prefix": "endpoints.metrics",
"properties": {
"path": "/metrics"
}
},
"infoEndpoint": {
"prefix": "endpoints.info",
"properties": {
"id": "info",
"sensitive": false,
"enabled": true
}
},
"auditEventMvcEndpoint": {
"prefix": "endpoints.auditevents",
"properties": {
"path": "/auditevents",
"sensitive": true,
"enabled": true
}
},
"management.trace-org.springframework.boot.actuate.trace.TraceProperties": {
"prefix": "management.trace",
"properties": {
"include": [
"COOKIES",
"REQUEST_HEADERS",
"RESPONSE_HEADERS",
"ERRORS"
]
}
},
"spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties": {
"prefix": "spring.resources",
"properties": {
"cachePeriod": null,
"addMappings": true,
"chain": {
"cache": true,
"htmlApplicationCache": false,
"gzipped": false,
"strategy": {
"fixed": {
"enabled": false,
"paths": [
"/**"
],
"version": null
},
"content": {
"enabled": false,
"paths": [
"/**"
]
}
}
},
"staticLocations": [
"/",
"classpath:/META-INF/resources/",
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/"
]
}
},
"management.health.status-org.springframework.boot.actuate.autoconfigure.HealthIndicatorProperties": {
"prefix": "management.health.status",
"properties": {
"order": null
}
},
"healthMvcEndpoint": {
"prefix": "endpoints.health",
"properties": {
"path": "/health"
}
},
"serverProperties": {
"prefix": "server",
"properties": {
"address": null,
"maxHttpPostSize": 0,
"undertow": {
"maxHttpPostSize": 0,
"bufferSize": null,
"buffersPerRegion": null,
"ioThreads": null,
"workerThreads": null,
"directBuffers": null,
"accesslog": {
"enabled": null,
"pattern": "common",
"prefix": "access_log.",
"suffix": "log",
"dir": "/Users/FlySheep/FlySheep/Code/ServerCode/SpringBoot_Demo/demo/logs",
"rotate": true
}
},
"tomcat": {
"accesslog": {
"enabled": false,
"pattern": "common",
"directory": "logs",