前后台串联log功能加一下,前端请求时,每次请求生成一个id,放在header中,key为traceId,值为随机id
时间: 2024-05-03 18:21:19 浏览: 9
,后端接收到请求后将traceId记录在日志中,方便后续排查问题时使用。
前端代码示例:
```javascript
function request(url, data) {
const traceId = generateTraceId();
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'traceId': traceId,
},
body: JSON.stringify(data)
})
}
function generateTraceId() {
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
let traceId = '';
for (let i = 0; i < 10; i++) {
traceId += chars[Math.floor(Math.random() * chars.length)];
}
return traceId;
}
```
后端代码示例:
```java
public void log(String message, HttpServletRequest request) {
String traceId = request.getHeader("traceId");
if (traceId != null) {
logger.info("traceId: {}, message: {}", traceId, message);
} else {
logger.info("message: {}", message);
}
}
```
这样,在后续排查问题时,可以通过traceId来定位请求的日志,方便排查问题。