From 1caf2d9d3f6c2ee8d58d182078d0a8468f6dbfc4 Mon Sep 17 00:00:00 2001
From: wbc <2597324127@qq.com>
Date: 星期六, 24 八月 2024 19:14:31 +0800
Subject: [PATCH] 物料接收
---
MESApplication/Filter/ActionFilter.cs | 289 +++++++++++++++++++++++++++++----------------------------
1 files changed, 146 insertions(+), 143 deletions(-)
diff --git a/MESApplication/Filter/ActionFilter.cs b/MESApplication/Filter/ActionFilter.cs
index 222c03f..e44c97f 100644
--- a/MESApplication/Filter/ActionFilter.cs
+++ b/MESApplication/Filter/ActionFilter.cs
@@ -1,160 +1,163 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
+锘縰sing System.Diagnostics;
+using System.Text;
+using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Newtonsoft.Json;
-using System.Diagnostics;
-using System.Text;
-namespace MESApplication
+namespace MESApplication;
+
+/// <summary>
+/// 鏂规硶杩囨护鍣�
+/// </summary>
+public class ActionFilter : IActionFilter
{
+ private Stopwatch _stopwatch;
+
/// <summary>
- /// 鏂规硶杩囨护鍣�
+ /// 鐩戞帶鏃ュ織
/// </summary>
- public class ActionFilter : IActionFilter
+ public static ILogger LoggerMonitor { get; set; }
+
+ /// <summary>
+ /// 閿欒鏃ュ織
+ /// </summary>
+ public static ILogger LoggerError { get; set; }
+
+
+ /// <summary>
+ /// 鏂规硶鎵ц鍓�
+ /// </summary>
+ /// <param name="context"></param>
+ /// <exception cref="NotImplementedException"></exception>
+ public async void OnActionExecuting(ActionExecutingContext context)
{
- /// <summary>
- /// 鐩戞帶鏃ュ織
- /// </summary>
- public static ILogger LoggerMonitor { get; set; }
-
- /// <summary>
- /// 閿欒鏃ュ織
- /// </summary>
- public static ILogger LoggerError { get; set; }
-
- private Stopwatch _stopwatch;
-
- /// <summary>
- /// 鍒涘缓璇锋眰鏃ュ織鏂囨湰
- /// </summary>
- /// <param name="method"></param>
- /// <param name="controllerName"></param>
- /// <param name="actionName"></param>
- /// <param name="actionArgs"></param>
- /// <returns></returns>
- private static string CreateRequestLogText(string method, string controllerName, string actionName, string requestHead, string requestBody)
+ // ErrorLog.Write("==================================================================================================================================");
+ _stopwatch = new Stopwatch();
+ _stopwatch.Start();
+ //throw new NotImplementedException();
+ if (LoggerMonitor != null)
{
- StringBuilder sb = new StringBuilder();
- sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃姹侶ead锛歿requestHead}\n");
- sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃姹侭ody锛歿requestBody}\n");
- return sb.ToString();
- }
-
- /// <summary>
- /// 鍒涘缓鍝嶅簲鏃ュ織鏂囨湰
- /// </summary>
- /// <param name="method"></param>
- /// <param name="controllerName"></param>
- /// <param name="actionName"></param>
- /// <param name="result"></param>
- /// <returns></returns>
- private static string CreateResponseLogText(string method, string controllerName, string actionName, object result)
- {
- StringBuilder sb = new StringBuilder();
- sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 瀹屾垚璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃繑鍥炵粨鏋滐細");
- if (result != null)
+ //璁板綍璇锋眰鍙傛暟鏃ュ織
+ var desc = context.ActionDescriptor as ControllerActionDescriptor;
+ if (desc != null)
{
- sb.Append($"{JsonConvert.SerializeObject(result)}");
- }
- else
- {
- sb.Append($"鏃�");
- }
- return sb.ToString();
- }
+ var headers = new Dictionary<string, object>();
+ var requestHeaders = context.HttpContext.Request.Headers;
+ // 璁块棶璇锋眰涓殑 header 淇℃伅
+ foreach (var header in requestHeaders)
+ headers.Add(header.Key, header.Value);
+ var requestHead = JsonConvert.SerializeObject(headers);
- /// <summary>
- /// 鏂规硶鎵ц鍓�
- /// </summary>
- /// <param name="context"></param>
- /// <exception cref="NotImplementedException"></exception>
- public async void OnActionExecuting(ActionExecutingContext context)
- {
- // ErrorLog.Write("==================================================================================================================================");
- _stopwatch = new Stopwatch();
- _stopwatch.Start();
- //throw new NotImplementedException();
- if (LoggerMonitor != null)
- {
- //璁板綍璇锋眰鍙傛暟鏃ュ織
- ControllerActionDescriptor desc = context.ActionDescriptor as ControllerActionDescriptor;
- if (desc != null)
+ var bodys = new Dictionary<string, object>();
+ var actionArguments = context.ActionArguments;
+ // 璁块棶璇锋眰涓殑鍙傛暟
+ foreach (var argument in actionArguments)
{
- Dictionary<string, object> headers = new Dictionary<string, object>();
- var requestHeaders = context.HttpContext.Request.Headers;
-
- // 璁块棶璇锋眰涓殑 header 淇℃伅
- foreach (var header in requestHeaders)
- {
- headers.Add(header.Key, header.Value);
- }
- var requestHead = JsonConvert.SerializeObject(headers);
-
- Dictionary<string, object> bodys = new Dictionary<string, object>();
- var actionArguments = context.ActionArguments;
- // 璁块棶璇锋眰涓殑鍙傛暟
- foreach (var argument in actionArguments)
- {
- //dic.Add(argument.Key, argument.Value);
- var parameter = JsonConvert.DeserializeObject<Dictionary<string, object>>(argument.Value.ToString());
- foreach (var item in parameter)
- {
- bodys.Add(item.Key, item.Value);
- }
- }
- var requestBody = JsonConvert.SerializeObject(bodys);
-
- var logText = CreateRequestLogText(context.HttpContext.Request.Method, desc.ControllerName, desc.ActionName, requestHead, requestBody);
- //LoggerMonitor.LogDebug(logText);
- //ErrorLog.Write(logText);
+ //dic.Add(argument.Key, argument.Value);
+ var parameter =
+ JsonConvert
+ .DeserializeObject<Dictionary<string, object>>(
+ argument.Value.ToString());
+ foreach (var item in parameter)
+ bodys.Add(item.Key, item.Value);
}
+
+ var requestBody = JsonConvert.SerializeObject(bodys);
+
+ var logText = CreateRequestLogText(
+ context.HttpContext.Request.Method, desc.ControllerName,
+ desc.ActionName, requestHead, requestBody);
+ //LoggerMonitor.LogDebug(logText);
+ //ErrorLog.Write(logText);
}
-
-
- }
-
- public void OnActionExecuted(ActionExecutedContext context)
- {
- //throw new NotImplementedException();
- _stopwatch.Stop();
- long elaspsedMillisedconds = _stopwatch.ElapsedMilliseconds;
- string msg = "";
- //string msg = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 鎺ュ彛鎵ц鏃堕棿锛歿elaspsedMillisedconds}姣";
- //ErrorLog.Write(msg);
-
- if (context.Exception != null)
- {
- // 璁板綍寮傚父鏃ュ織
- if (LoggerError != null)
- {
- LoggerError.LogError(context.Exception, context.Exception.Message);
-
- ErrorLog.Write($@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 鎺ュ彛寮傚父锛歿JsonConvert.SerializeObject(context.Exception)}");
- ErrorLog.Write($@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 寮傚父鎻愮ず淇℃伅锛歿JsonConvert.SerializeObject(context.Exception.Message)}");
- ErrorLog.Write("==================================================================================================================================");
- }
- }
-
- if (LoggerMonitor != null)
- {
- // 璁板綍璇锋眰缁撴灉鏃ュ織
- ControllerActionDescriptor desc = context.ActionDescriptor as ControllerActionDescriptor;
- if (desc != null)
- {
- ObjectResult rst = context.Result as ObjectResult;
- object rstValue = rst != null ? rst.Value : null;
- var logText = CreateResponseLogText(
- context.HttpContext.Request.Method,
- desc.ControllerName,
- desc.ActionName,
- rstValue);
- LoggerMonitor.LogDebug(logText);
- ErrorLog.Write(logText);
- }
- }
- // ErrorLog.Write(msg);
- // ErrorLog.Write("==================================================================================================================================");
}
}
-}
+
+ public void OnActionExecuted(ActionExecutedContext context)
+ {
+ //throw new NotImplementedException();
+ _stopwatch.Stop();
+ var elaspsedMillisedconds = _stopwatch.ElapsedMilliseconds;
+ var msg = "";
+ //string msg = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 鎺ュ彛鎵ц鏃堕棿锛歿elaspsedMillisedconds}姣";
+ //ErrorLog.Write(msg);
+
+ if (context.Exception != null)
+ // 璁板綍寮傚父鏃ュ織
+ if (LoggerError != null)
+ {
+ LoggerError.LogError(context.Exception,
+ context.Exception.Message);
+
+ ErrorLog.Write(
+ $@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 鎺ュ彛寮傚父锛歿JsonConvert.SerializeObject(context.Exception)}");
+ ErrorLog.Write(
+ $@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 寮傚父鎻愮ず淇℃伅锛歿JsonConvert.SerializeObject(context.Exception.Message)}");
+ ErrorLog.Write(
+ "==================================================================================================================================");
+ }
+
+ if (LoggerMonitor != null)
+ {
+ // 璁板綍璇锋眰缁撴灉鏃ュ織
+ var desc = context.ActionDescriptor as ControllerActionDescriptor;
+ if (desc != null)
+ {
+ var rst = context.Result as ObjectResult;
+ var rstValue = rst != null ? rst.Value : null;
+ var logText = CreateResponseLogText(
+ context.HttpContext.Request.Method,
+ desc.ControllerName,
+ desc.ActionName,
+ rstValue);
+ LoggerMonitor.LogDebug(logText);
+ ErrorLog.Write(logText);
+ }
+ }
+ // ErrorLog.Write(msg);
+ // ErrorLog.Write("==================================================================================================================================");
+ }
+
+ /// <summary>
+ /// 鍒涘缓璇锋眰鏃ュ織鏂囨湰
+ /// </summary>
+ /// <param name="method"></param>
+ /// <param name="controllerName"></param>
+ /// <param name="actionName"></param>
+ /// <param name="actionArgs"></param>
+ /// <returns></returns>
+ private static string CreateRequestLogText(string method,
+ string controllerName, string actionName, string requestHead,
+ string requestBody)
+ {
+ var sb = new StringBuilder();
+ sb.Append(
+ $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃姹侶ead锛歿requestHead}\n");
+ sb.Append(
+ $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃姹侭ody锛歿requestBody}\n");
+ return sb.ToString();
+ }
+
+ /// <summary>
+ /// 鍒涘缓鍝嶅簲鏃ュ織鏂囨湰
+ /// </summary>
+ /// <param name="method"></param>
+ /// <param name="controllerName"></param>
+ /// <param name="actionName"></param>
+ /// <param name="result"></param>
+ /// <returns></returns>
+ private static string CreateResponseLogText(string method,
+ string controllerName, string actionName, object result)
+ {
+ var sb = new StringBuilder();
+ sb.Append(
+ $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 瀹屾垚璇锋眰{method}/{controllerName}/{actionName}鎺ュ彛锛岃繑鍥炵粨鏋滐細");
+ if (result != null)
+ sb.Append($"{JsonConvert.SerializeObject(result)}");
+ else
+ sb.Append("鏃�");
+ return sb.ToString();
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3