SpringBoot 2.3.4.RELEASE actuator curl动态设置日志等级 生产环境零时打开DEBUG日志 logging level

pom.xml

        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

application.yml

management:
  security:
    enabled: true
  endpoints:
    web:
      exposure:
        include: info, health, mappings, loggers

logging:
  level:
    root: info

测试类

package com.example.demo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {

	Logger logger = LoggerFactory.getLogger(DemoApplication.class);

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}


	@RequestMapping("/")
	public String index(){
		logger.trace("z");
		logger.debug("z");
		logger.info("z");
		logger.warn("z");
		logger.error("z");
		return "";
	}
}

启动访问日志(当前ROOT DEBUG)

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.4.RELEASE)

2021-03-12 16:39:24.571  INFO 30648 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on harbor.hknaruto.com with PID 30648 (/home/yeqiang/Downloads/demo/target/classes started by yeqiang in /home/yeqiang/Downloads/demo)
2021-03-12 16:39:24.573  INFO 30648 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2021-03-12 16:39:25.184  INFO 30648 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-03-12 16:39:25.193  INFO 30648 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-03-12 16:39:25.194  INFO 30648 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.38]
2021-03-12 16:39:25.234  INFO 30648 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-03-12 16:39:25.235  INFO 30648 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 630 ms
2021-03-12 16:39:25.406  INFO 30648 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-03-12 16:39:25.546  INFO 30648 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 4 endpoint(s) beneath base path '/actuator'
2021-03-12 16:39:25.573  INFO 30648 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-03-12 16:39:25.582  INFO 30648 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.253 seconds (JVM running for 1.475)
2021-03-12 16:41:26.009  INFO 30648 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-03-12 16:41:26.009  INFO 30648 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-03-12 16:41:26.012  INFO 30648 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
2021-03-12 16:41:26.029  INFO 30648 --- [nio-8080-exec-1] com.example.demo.DemoApplication         : z
2021-03-12 16:41:26.029  WARN 30648 --- [nio-8080-exec-1] com.example.demo.DemoApplication         : z
2021-03-12 16:41:26.029 ERROR 30648 --- [nio-8080-exec-1] com.example.demo.DemoApplication         : z

查看日志等级

[yeqiang@harbor etc]$ curl http://localhost:8080/actuator/loggers
{"levels":["OFF","ERROR","WARN","INFO","DEBUG","TRACE"],"loggers":{"ROOT":{"configuredLevel":"INFO","effectiveLevel":"INFO"},"com":{"configuredLevel":null,"effectiveLevel":"INFO"},"com.example":{"configuredLevel":null,"effectiveLevel":"INFO"},"com.example.demo":{"configuredLevel":null,"effectiveLevel":"INFO"},"com.example.demo.DemoApplication":{"configuredLevel":null,"effectiveLevel":"INFO"},"io":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument.binder":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument.binder.jvm":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument.binder.jvm.JvmGcMetrics":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument.internal":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.instrument.internal.DefaultGauge":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.util.internal":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.util.internal.logging":{"configuredLevel":null,"effectiveLevel":"INFO"},"io.micrometer.core.util.internal.logging.InternalLoggerFactory":{"configuredLevel":null,"effectiveLevel":"INFO"},"org":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.ContainerBase":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.ContainerBase.[Tomcat]":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.ContainerBase.[Tomcat].[localhost]":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.StandardEngine":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.core.StandardService":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.startup":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.startup.DigesterFactory":{"configuredLevel":"ERROR","effectiveLevel":"ERROR"},"org.apache.catalina.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.catalina.util.LifecycleBase":{"configuredLevel":"ERROR","effectiveLevel":"ERROR"},"org.apache.coyote":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.coyote.http11":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.coyote.http11.Http11NioProtocol":{"configuredLevel":"WARN","effectiveLevel":"WARN"},"org.apache.sshd":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.sshd.common":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.sshd.common.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.sshd.common.util.SecurityUtils":{"configuredLevel":"WARN","effectiveLevel":"WARN"},"org.apache.tomcat":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.tomcat.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.tomcat.util.net":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.apache.tomcat.util.net.NioSelectorPool":{"configuredLevel":"WARN","effectiveLevel":"WARN"},"org.eclipse":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.eclipse.jetty":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.eclipse.jetty.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.eclipse.jetty.util.component":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.eclipse.jetty.util.component.AbstractLifeCycle":{"configuredLevel":"ERROR","effectiveLevel":"ERROR"},"org.hibernate":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.hibernate.validator":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.hibernate.validator.internal":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.hibernate.validator.internal.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.hibernate.validator.internal.util.Version":{"configuredLevel":"WARN","effectiveLevel":"WARN"},"org.springframework":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.AbstractNestablePropertyAccessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.BeanUtils":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.CachedIntrospectionResults":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.ExtendedBeanInfo":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.TypeConverterDelegate":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.annotation.InjectionMetadata":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.parsing":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.parsing.FailFastProblemReporter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.support.DefaultListableBeanFactory":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.support.DisposableBeanAdapter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.xml":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.xml.DefaultDocumentLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.beans.factory.xml.XmlBeanDefinitionReader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.BeanDefinitionLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.BeanDefinitionLoader$ClassExcludeFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.DefaultApplicationArguments":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.DefaultApplicationArguments$Source":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.SpringApplication":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.StartupInfoLogger":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.availability":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration$ProbesCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.endpoint":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.endpoint.condition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.health":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.health.OnEnabledHealthIndicatorCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.info":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.info.OnEnabledInfoContributorCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.logging":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration$OnEnabledLoggingSystemCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryConfiguration$MultipleNonPrimaryMeterRegistriesCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration$LogbackLoggingCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryConfigurer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web.server":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration$SameManagementContextConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration$SameManagementContextConfiguration$1":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.autoconfigure.web.server.OnManagementPortCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.EndpointFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.EndpointId":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.jmx":{"configuredLevel":"WARN","effectiveLevel":"WARN"},"org.springframework.boot.actuate.endpoint.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.servlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$WebMvcEndpointHandlerMethod":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.servlet.ControllerEndpointHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.health":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.health.PingHealthIndicator":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.metrics":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.metrics.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.metrics.web.servlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.system":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.actuate.system.DiskSpaceHealthIndicator":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.AutoConfigurationImportSelector":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.AutoConfigurationPackages":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.cache":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.cache.CacheCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnBeanCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnClassCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnCloudPlatformCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnPropertyCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnResourceCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration$ResourceBundleCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.http":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$NotReactiveWebApplicationCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.info":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration$GitResourceAvailableCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.logging":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.OnEnabledResourceChainCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.client":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration$NotReactiveWebApplicationCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DefaultDispatcherServletCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration$DispatcherServletRegistrationCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.error":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$ErrorTemplateMissingCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration$StaticView":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.cloud":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.FileEncodingApplicationListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.config":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.config.ConfigFileApplicationListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.logging":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.logging.ClasspathLoggingApplicationListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.logging.LoggingApplicationListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.properties":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.properties.PropertySourcesDeducer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.properties.source":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.diagnostics":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.diagnostics.FailureAnalyzers":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env.OriginTrackedMapPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env.OriginTrackedYamlLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env.RandomValuePropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor$OriginAwareSystemEnvironmentPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.liquibase":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat.TomcatStarter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.embedded.tomcat.TomcatWebServer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.server":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.server.WebServerFactoryCustomizer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.RegistrationBean":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.ServletContextInitializerBeans":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.filter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.filter.OrderedFormContentFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ClassPathBeanDefinitionScanner":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.CommonAnnotationBeanPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ComponentScanAnnotationParser":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ComponentScanAnnotationParser$1":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ConfigurationClassEnhancer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ConfigurationClassParser":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ConfigurationClassPostProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.annotation.ConfigurationClassUtils":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.event":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.event.EventListenerMethodProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.index":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.index.CandidateComponentsIndexLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.ApplicationListenerDetector":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.DefaultLifecycleProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.DelegatingMessageSource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.PostProcessorRegistrationDelegate":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.PropertySourcesPlaceholderConfigurer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.context.support.PropertySourcesPlaceholderConfigurer$1":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.LocalVariableTableParameterNameDiscoverer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.SpringProperties":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.MapPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.PropertiesPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.PropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.PropertySource$ComparisonPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.PropertySource$StubPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.PropertySourcesPropertyResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.env.SystemEnvironmentPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.io":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.io.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.io.support.PathMatchingResourcePatternResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.io.support.ResourceArrayPropertyEditor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.io.support.SpringFactoriesLoader":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.task":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.task.SimpleAsyncTaskExecutor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottleAdapter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.type":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.type.filter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.type.filter.AnnotationTypeFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.core.type.filter.AssignableTypeFilter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.ByteArrayHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.ResourceHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.ResourceRegionHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.StringHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.json":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.json.Jackson2ObjectMapperBuilder":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.json.MappingJackson2HttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.xml":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.http.converter.xml.SourceHttpMessageConverter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.jndi":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.jndi.JndiTemplate":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.jndi.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.jndi.support.SimpleJndiBeanFactory":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.scheduling":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.scheduling.concurrent":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.ui":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.ui.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.ui.context.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.ui.context.support.ResourceBundleThemeSource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.ui.context.support.UiApplicationContextUtils":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.util.PropertyPlaceholderHelper":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.validation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.validation.DataBinder":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.HttpLogging":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.request":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.request.async":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.request.async.WebAsyncManager":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.support.ServletContextPropertySource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.support.ServletContextResourcePatternResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.context.support.StandardServletEnvironment":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.cors":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.cors.DefaultCorsProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method.HandlerMethod":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method.annotation.ModelAttributeMethodProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.DispatcherServlet":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.HandlerExecutionChain":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.PageNotFound":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.config":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.config.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.config.annotation.WebMvcConfigurer":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.function":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.function.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.function.support.RouterFunctionMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.handler":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.handler.SimpleUrlHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.condition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition$ConsumeMediaTypeExpression":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.condition.ProducesRequestCondition":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.condition.ProducesRequestCondition$ProduceMediaTypeExpression":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.RequestPartMethodArgumentResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.resource":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.resource.PathResourceResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.resource.ResourceHttpRequestHandler":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.resource.ResourceUrlProvider":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.support":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.support.SessionFlashMapManager":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.view":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.view.BeanNameViewResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.view.ContentNegotiatingViewResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.servlet.view.InternalResourceViewResolver":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.util":{"configuredLevel":null,"effectiveLevel":"INFO"},"org.springframework.web.util.UrlPathHelper":{"configuredLevel":null,"effectiveLevel":"INFO"}},"groups":{"web":{"configuredLevel":null,"members":["org.springframework.core.codec","org.springframework.http","org.springframework.web","org.springfram[yeqiang@harbor etc]$ 

动态修改日志等级

curl  -d '{"configuredLevel":"debug"}' -H 'Content-Type: application/json'  http://localhost:8080/actuator/loggers/com.example -vv

再次测试访问

2021-03-12 16:43:32.980 DEBUG 30648 --- [nio-8080-exec-7] com.example.demo.DemoApplication         : z
2021-03-12 16:43:32.980  INFO 30648 --- [nio-8080-exec-7] com.example.demo.DemoApplication         : z
2021-03-12 16:43:32.980  WARN 30648 --- [nio-8080-exec-7] com.example.demo.DemoApplication         : z
2021-03-12 16:43:32.980 ERROR 30648 --- [nio-8080-exec-7] com.example.demo.DemoApplication         : z

可以看到com.example日志等级已经是DEBUG了。

此方案可用于生产环境零时打开DEBUG日志用于分析紧急问题。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值