fix: ApiLogInterceptor 只记录外部 PSK 请求,管理后台 Bearer 请求不记录
This commit is contained in:
@@ -22,13 +22,17 @@ public class ApiLogInterceptor implements HandlerInterceptor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
|
||||||
request.setAttribute("_log_start", System.currentTimeMillis());
|
// 只记录外部 PSK 请求(有 X-Signature 头),跳过管理后台 Bearer 请求
|
||||||
|
if (request.getHeader("X-Signature") != null) {
|
||||||
|
request.setAttribute("_log_start", System.currentTimeMillis());
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
|
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
|
||||||
Object handler, Exception ex) {
|
Object handler, Exception ex) {
|
||||||
|
if (request.getAttribute("_log_start") == null) return; // 非外部请求跳过
|
||||||
long elapsed = System.currentTimeMillis() - (long) request.getAttribute("_log_start");
|
long elapsed = System.currentTimeMillis() - (long) request.getAttribute("_log_start");
|
||||||
String email = request.getHeader("X-Email");
|
String email = request.getHeader("X-Email");
|
||||||
String pskVer = (String) request.getAttribute("pskVersion");
|
String pskVer = (String) request.getAttribute("pskVersion");
|
||||||
|
|||||||
Reference in New Issue
Block a user