日志是很多开发者在开发过程中很容易忽略,开发过程中开发者可以通过IDE或其他调试工具,。在软件的生命周期中,

分析丑陋的日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2019-07-05 09:49:53k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:49:53,257 INFO [com.cosmo.portal.interceptor.TokenInterceptor] - AUTH:x-usc-token:5354d67c-d2b1-42b0-8160-d7040a0fd1eb clusterId:qingdao

2019-07-05 09:49:53k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:49:53,258 INFO [com.cosmo.portal.service.impl.RedisTokenManager] - 用户名null

2019-07-05 09:49:53k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:49:53,258 INFO [com.cosmo.portal.service.impl.RedisTokenManager] - 刷新token失败

2019-07-05 09:49:53k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:49:53,258 ERROR [com.cosmo.portal.exception.GlobalExceptionHandler] - 业务逻辑异常:【Token不存在或已失效,请重新登录】

2019-07-05 09:49:53k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:49:53,259 WARN [org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver] - Resolved [com.cosmo.portal.exception.BusniessException: Token不存在或已失效,请重新登录]

2019-07-05 09:50:46k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:50:46,384 INFO [com.cosmo.portal.interceptor.TokenInterceptor] - AUTH:x-usc-token:5354d67c-d2b1-42b0-8160-d7040a0fd1eb clusterId:qingdao

2019-07-05 09:50:46k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:50:46,385 INFO [com.cosmo.portal.service.impl.RedisTokenManager] - 用户名null

2019-07-05 09:50:46k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:50:46,385 INFO [com.cosmo.portal.service.impl.RedisTokenManager] - 刷新token失败

2019-07-05 09:50:46k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:50:46,385 ERROR [com.cosmo.portal.exception.GlobalExceptionHandler] - 业务逻辑异常:【Token不存在或已失效,请重新登录】

2019-07-05 09:50:46k8s_cosmo-portal-console-app_cosmo-portal-console-app-6d7fc78d7b-29rw5_default_c8beb189-9e38-11e9-b1a0-0242ac120005_02019-07-05 09:50:46,386 WARN [org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver] - Resolved [com.cosmo.portal.exception.BusniessException: Token不存在或已失效,请重新登录]

上面是一个SpringBoot Web应用输出的日志,该应用通过容器方式部署在k8s集群中。这些日志输出存在一下严重缺陷。

  1. 出现Error级别日志,日志级别滥用。该级别日志属于系统级,当出现该级别日志时系统也已经出现一定级别的不可用;
  2. 多次请求日志并行输出,且没有明确的标识;