From 981a80940e47409300c09847684ca530f75b4a5f Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 10 一月 2025 23:56:33 +0800
Subject: [PATCH] 优化WCS辅料出库逻辑
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs | 77 ++++++++++++--------------------------
1 files changed, 25 insertions(+), 52 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
index ee5bdd9..e576b3d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/ApiLogMiddleware.cs"
@@ -22,7 +22,7 @@
/// </summary>
private readonly RequestDelegate _next;
- public ApiLogMiddleware(RequestDelegate next)
+ public ApiLogMiddleware(RequestDelegate next, ILogger<ApiLogMiddleware> logger)
{
_next = next;
}
@@ -35,13 +35,15 @@
{
context.Request.EnableBuffering();
Stream originalBody = context.Response.Body;
-
+ string requestParam = string.Empty;
+ string responseParam = string.Empty;
try
{
+ (context.RequestServices.GetService(typeof(RequestLogModel)) as RequestLogModel).RequestDate = DateTime.Now;
try
{
// 瀛樺偍璇锋眰鏁版嵁
- await RequestDataLog(context);
+ requestParam = RequestDataLog(context);
context.Request.Body.Position = 0;
}
catch { }
@@ -53,18 +55,19 @@
try
{
// 瀛樺偍鍝嶅簲鏁版嵁
- ResponseDataLog(context.Response, ms);
+ responseParam = ResponseDataLog(context.Response);
}
catch { }
ms.Position = 0;
await ms.CopyToAsync(originalBody);
-
+ if (!((context.Request.Path.Value?.Contains("get")) ?? true) && !((context.Request.Path.Value?.Contains("Get")) ?? true) && !((context.Request.Path.Value?.Contains("query")) ?? true) && !((context.Request.Path.Value?.Contains("Query")) ?? true) && !((context.Request.Path.Value?.Contains("DownLoadApp")) ?? true) && !((context.Request.Path.Value?.Contains("downLoadApp")) ?? true) && !((context.Request.Path.Value?.Contains("UploadApp")) ?? true) && !((context.Request.Path.Value?.Contains("uploadApp")) ?? true))
+ Logger.Add(requestParam, responseParam);
}
catch (Exception ex)
{
// 璁板綍寮傚父
-
+
}
finally
{
@@ -77,61 +80,31 @@
}
}
-
- private async Task RequestDataLog(HttpContext context)
+ private string RequestDataLog(HttpContext context)
{
var request = context.Request;
var sr = new StreamReader(request.Body);
- //long length = request.Body.Length;
- RequestLogInfo requestResponse = new RequestLogInfo()
+
+ object obj = new
{
- Path = request.Path,
QueryString = request.QueryString.ToString(),
- BodyData = await sr.ReadToEndAsync()
+ BodyData = sr.ReadToEndAsync().Result
};
- var content = JsonConvert.SerializeObject(requestResponse);
- if (!string.IsNullOrEmpty(content))
- {
- LogLock.OutLogAOP("鎺ュ彛鏃ュ織", new string[] { "璇锋眰鏁版嵁 - 璇锋眰鏁版嵁绫诲瀷:" + requestResponse.GetType().ToString(), content });
- request.Body.Position = 0;
- }
+
+ string data = JsonConvert.SerializeObject(obj);
+
+ request.Body.Position = 0;
+
+ return data;
}
- private void ResponseDataLog(HttpResponse response, MemoryStream ms)
+ private string ResponseDataLog(HttpResponse response)
{
- ms.Position = 0;
- var responseBody = new StreamReader(ms).ReadToEnd();
-
- // 鍘婚櫎 Html
- var reg = "<[^>]+>";
- var isHtml = Regex.IsMatch(responseBody, reg);
-
- if (!string.IsNullOrEmpty(responseBody))
- {
- Parallel.For(0, 1, e =>
- {
- LogLock.OutLogAOP("鎺ュ彛鏃ュ織", new string[] { "鍝嶅簲鏁版嵁 - 鍝嶅簲鏁版嵁绫诲瀷:" + responseBody.GetType().ToString(), responseBody });
-
- });
- }
+ response.Body.Position = 0;
+ using StreamReader stream = new StreamReader(response.Body, leaveOpen: true);
+ string body = stream.ReadToEnd();
+ response.Body.Position = 0;
+ return body;
}
- }
-
- public class RequestLogInfo
- {
- /// <summary>
- /// 璇锋眰鍦板潃
- /// </summary>
- public string Path { get; set; }
-
- /// <summary>
- /// 璇锋眰鍙傛暟
- /// </summary>
- public string QueryString { get; set; }
-
- /// <summary>
- /// Body鍙傛暟
- /// </summary>
- public string BodyData { get; set; }
}
}
--
Gitblit v1.9.3