SpringCloud应用骨架开发2

在上一篇博文中,我们开发了一个基本的微服务,在本篇博文中,我们将在加入日志,健康监测方面的内容。
在应用中加入日志功能,是一项基本的需求。我们在这里介绍的只是针对单个微服务的日志功能。
我们首先在应用配置文件application.yaml中加入日志定义功能:

logging:
  pattern:
    console: "%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n"
    file: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
  level:
    org.springframework.web: DEBUG
  file: app.log

我们定义了日志格式和日志文件。在程序中使用日志功能很简单,我们以在DemoController类中写日志为例:

@RestController
@RequestMapping("/person")
public class DemoController {
    org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(DemoController.class);
    ......
    @GetMapping("/{personId}")
    public Person findById(@PathVariable("personId") Long personId,
                           HttpServletRequest request) {
        String mode = request.getParameter("mode");
        LOGGER.info("test: {}", "abc");
        return persons.stream().filter(item -> item.getPersonId().equals(personId)).findFirst().get();
    }

我们在每个类中定义一个Logger LOGGER变量,在写日志时调用LOGGER.info/debug/trace/warn/error来写不同级别的日志。

应用健康监测

在项目根目录下的pom.xml文件中添加如下信息:

		<!-- 开始:应用健康管理 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>
		<!-- 结束:应用健康管理 -->

此时我们启动应用,在浏览器上访问:

http://localhost:2208/acuator
{"_links":{"self":{"href":"http://localhost:2208/actuator","templated":false},"health":{"href":"http://localhost:2208/actuator/health","templated":false},"health-path":{"href":"http://localhost:2208/actuator/health/{*path}","templated":true},"info":{"href":"http://localhost:2208/actuator/info","templated":false}}}

我们可以添加应用信息,在application.yaml文件中添加如下内容:

  info:
    name: ${spring.application.name}
    build:
      name: ${project.name:}
      artifact: ${project.arfitactId:}
      version: ${project.version:}
      time: ${build.time:}

此时访问http://localhost:2208/acuator/info可以看到程序的基本信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值