wanshenmean
3 天以前 b690250002ee04f4309e6a90fd16fbfd9bd959e2
Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs
@@ -14,6 +14,18 @@
    public class ApiLogMiddleware
    {
        /// <summary>
        /// 不写入 Sys_Log 表的接口路径(只写文件日志)
        /// </summary>
        private static readonly string[] _apiLogSkipPaths =
        {
            "InOrOutCompleted",
            "SendLocationStatus",
            "RequestOutbound",
            "GetPalletCodeCell",
            "GetOutBoundTrayTask"
        };
        /// <summary>
        ///
        /// </summary>
        private readonly RequestDelegate _next;
@@ -21,6 +33,15 @@
        public ApiLogMiddleware(RequestDelegate next, ILogger<ApiLogMiddleware> logger)
        {
            _next = next;
        }
        /// <summary>
        /// 判断当前请求路径是否在跳过数据库日志列表中
        /// </summary>
        private static bool IsApiLogSkipPath(string? path)
        {
            if (string.IsNullOrEmpty(path)) return false;
            return _apiLogSkipPaths.Any(skip => path.Contains(skip));
        }
        //todo
@@ -87,7 +108,8 @@
                    ms.Position = 0;
                    await ms.CopyToAsync(originalBody);
                    if (!ignoreUrls.Any(x => context.Request.Path.Value?.Contains(x) ?? false))
                    if (!ignoreUrls.Any(x => context.Request.Path.Value?.Contains(x) ?? false)
                        && !IsApiLogSkipPath(context.Request.Path.Value))
                    {
                        Logger.Add(requestParam, responseParam);
                    }