栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

微服务下的日志打印标准

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务下的日志打印标准

概要

单体服务的日志打印比较简单,因为一条请求的所有流程都在单体服务中。相反,一条请求在微服务系统中会经历若干服务,在任何一个服务中都可能出现问题,因此记录的错误原因会分散到不同的地方。

我们可以使用ELK来收集日志,将其存放在es或者hive中,这样方便查询。

本文主要介绍日志在微服务系统中的标准格式。

流程图

 

TraceId与SpanId

一条请求涉及的所有日志是通过TraceId来表示标识其唯一性的。

SpanId能提供如下作用:1、该服务在请求中的调用层级;2、调用顺序

关于这两个字段的解释可以参见-- TraceId 和 SpanId 生成规则 - 金融分布式架构 SOFAStack - 阿里云

字段

公共字段

字段名

解释

level

日志的级别,通常包括trace, info, error, fatal

Time

时间,如果存在机房跨不同时域需要统一时间标准

function

打印日志对应的函数

Line

打印日志对应的代码行数

TraceId

见上

SpanId

见上

Caller

调用方

Hint

是否是压测流量

Method

http的url,rpc的service.method

Params

http的params和body, rpc的形参

Req_in

字段名

解释

From_ip

请求来源

Proto

协议,对于同时支持多种协议的服务比较重要

Caller_info

调用方带的信息,比如user_agent, content_type

Req_out

字段名

解释

From_ip

请求来源

code

返回码

Msg

返回消息

Proc_time

处理时间

Call_in

字段名

解释

cspanid

确定下游的spanid

Tag

对下游服务进行分类,如mysql,redis,http

Location

调用位置信息

Req_out

字段名

解释

cspanid

确定下游的spanid

code

返回码

Msg

返回消息

Proc_time

处理时间

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号