method日志
实现原理
devspore-http-log打印methodLog主要是通过Spring的切面来实现的。
添加依赖
<dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId>devspore-http-log</artifactId> <version>最新版本</version> </dependency>
使用方式
在spring的配置文件中添加以下配置,无需改动代码:
devspore: http-log: method-level: #为true时打印methodLog,为false时不打印 enable: true #此参数控制在哪些方法上打印methodLog,使用aop切面表达式的语法 execution: '(@within(org.springframework.stereotype.Service)' #需要在methodLog中添加自定义字段时需添加如下配置 custom-fields: # user:为methodLog中添加的自定义字段名称,x-user为请求头中的key值,devspore-http-log会去请求头中获取该值打印在methodLog中 user: x-user
method日志示例
"duration": 199, "logType": "methodLog", "methodName": "getConsumerByRestTemplate", "startTime": "2023-12-28 15:23:44.646", "className": "com.huaweicloud.service.impl.HttpLogServiceImpl", "exceptionClass": "", "serviceName": "httplogtest", "user": "my-custom-field" }
method日志字段说明
字段名 |
字段含义 |
可选/必选 |
---|---|---|
logType |
日志类型。 |
必选,值固定为methodLog |
serviceName |
服务名称:取配置文件中:devspore.http-log.service-name的值。 |
必选 |
className |
方法所在类的全路径限定名。 |
必选 |
methodName |
方法名称。 |
必选 |
exceptionClass |
方法异常后异常类全路径限定名(包名使用首字母缩写),方法无异常时此字段为null。 |
必选 |
startTime |
方法开始调用时间。 |
必选 |
duration |
方法耗时(单位:ms)。 |
必选 |
traceId |
调用链跟踪ID。 |
必选(依赖APM) |