From 41a5531dc31a642623f0a7a766fbe9c256ba9247 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 11 二月 2025 13:53:29 +0800
Subject: [PATCH] 优化WMS前端
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs | 67 +++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 4 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
index d833379..1d9a8b7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/LogHelper/Logger.cs"
@@ -1,13 +1,21 @@
锘縰sing Microsoft.AspNetCore.Http;
+using Microsoft.OpenApi.Models;
using SqlSugar;
+using StackExchange.Profiling.Internal;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Data;
+using System.IO;
using System.Linq;
+using System.Reflection;
+using System.Runtime.Serialization.Formatters;
using System.Text;
using System.Threading.Tasks;
+using System.Xml.Linq;
using WIDESEA_Core.DB;
+using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_Core.HttpContextUser;
using WIDESEA_Core.Seed;
@@ -87,7 +95,7 @@
row["RequestParam"] = log.RequestParam?.Replace("\r\n", "").Replace("\n", "");
// 灏哛esponseParam涓殑鎹㈣绗︽浛鎹负绌哄瓧绗︿覆
row["ResponseParam"] = log.ResponseParam?.Replace("\r\n", "").Replace("\n", "");
- //row["Success"] = log.Success ?? -1;
+ row["Success"] = log.Success ?? -1;
// 灏咮eginDate璁剧疆涓簂og鐨凚eginDate
row["BeginDate"] = log.BeginDate;
// 灏咵ndDate璁剧疆涓簂og鐨凟ndDate
@@ -102,6 +110,8 @@
row["UserId"] = log.UserId ?? -1;
// 灏哢serName璁剧疆涓簂og鐨刄serName
row["UserName"] = log.UserName;
+ row["MethodName"] = log.MethodName;
+ row["Methodremark"] = log.Methodremark;
// 灏唕ow娣诲姞鍒皅ueueTable涓�
queueTable.Rows.Add(row);
}
@@ -115,13 +125,13 @@
queueTable.Columns.Add("EndDate", Type.GetType("System.DateTime"));
queueTable.Columns.Add("RequestParam", typeof(string));
queueTable.Columns.Add("ResponseParam", typeof(string));
- //queueTable.Columns.Add("Success", Type.GetType("System.Int32"));
+ queueTable.Columns.Add("Success", Type.GetType("System.Int32"));
queueTable.Columns.Add("Url", typeof(string));
queueTable.Columns.Add("UserIP", typeof(string));
queueTable.Columns.Add("UserName", typeof(string));
queueTable.Columns.Add("UserId", Type.GetType("System.Int32"));
- //queueTable.Columns.Add("LogType", typeof(string));
- //queueTable.Columns.Add("ExceptionInfo", typeof(string));
+ queueTable.Columns.Add("MethodName", typeof(string));
+ queueTable.Columns.Add("Methodremark", typeof(string));
//queueTable.Columns.Add("ServiceIP", typeof(string));
//queueTable.Columns.Add("BrowserType", typeof(string));
//queueTable.Columns.Add("Role_Id", Type.GetType("System.Int32"));
@@ -131,6 +141,8 @@
public static void Add(string requestParameter, string responseParameter)
{
dynamic log = null;
+ string MethodName = string.Empty;
+ string Methodremark = string.Empty;
try
{
//鑾峰彇褰撳墠HttpContext
@@ -140,11 +152,46 @@
{
return;
}
+
//濡傛灉璇锋眰鏂规硶涓篛PTIONS锛屽垯杩斿洖
if (context.Request.Method == "OPTIONS") return;
//鑾峰彇RequestLogModel瀹炰緥
RequestLogModel logModel = (context.RequestServices.GetService(typeof(RequestLogModel)) as RequestLogModel) ?? new RequestLogModel { RequestDate = DateTime.Now };
+ #region 鑾峰彇鎺ュ彛娉ㄩ噴
+ try
+ {
+ string path = context.Request.Path;
+ var names = path.Split('/');
+ var basePath = AppContext.BaseDirectory + "WIDESEA_WMSServer";
+ Assembly assembly = Assembly.LoadFrom(basePath);
+ List<Type> types = assembly.GetTypes().Where(x => x.Name.Contains(names[2] + "Controller")).ToList();
+ if (types.Count > 0)
+ {
+ //MethodInfo methodInfo = types.First().GetMethod("login");
+ MethodInfo methodInfo = types.First().GetMethods()
+ .FirstOrDefault(m => m.Name.Equals(names[3], StringComparison.OrdinalIgnoreCase));
+ if (methodInfo != null)
+ {
+ MethodName = methodInfo.Name;
+ string xmlPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, methodInfo.DeclaringType.Assembly.GetName().Name + ".xml");
+ //if (!File.Exists(xmlPath)) return "XML documentation file not found."; // 妫�鏌ユ枃浠舵槸鍚﹀瓨鍦�
+ // 鍔犺浇XML鏂囨。骞惰В鏋愭憳瑕佷俊鎭�
+ XDocument xdoc = XDocument.Load(xmlPath);
+ string membername = $"M:{methodInfo.DeclaringType.FullName}.{methodInfo.Name}";
+ var member = xdoc.Descendants("member")
+ .FirstOrDefault(m => m.Attribute("name").Value.ToString().Contains(membername));// 瀹氫綅鍒版柟娉曡妭鐐�
+ //.FirstOrDefault(m => m.Attribute("name")?.Value == $"M:{methodInfo.DeclaringType.FullName}.{methodInfo.Name}"); // 瀹氫綅鍒版柟娉曡妭鐐�
+ //if (member == null) return "Member not found in XML documentation."; // 妫�鏌ユ柟娉曟槸鍚﹀湪XML鏂囨。涓壘鍒�
+ //var summary = member?.Element("summary")?.Value ?? "No summary provided."; // 鑾峰彇鎽樿淇℃伅鎴栭粯璁ゅ��
+ Methodremark = member?.Element("summary")?.Value.Replace("\n", "").Replace(" ", "") ?? methodInfo.Name; // 鑾峰彇鎽樿淇℃伅鎴栭粯璁ゅ��
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ #endregion
//鑾峰彇褰撳墠鐢ㄦ埛
IUser user = App.User;
//鍒涘缓鏃ュ織瀵硅薄
@@ -158,6 +205,12 @@
RequestParam = requestParameter,
//鍝嶅簲鍙傛暟
ResponseParam = responseParameter,
+ //鏂规硶鍚嶇О
+ MethodName = MethodName,
+ //鏂规硶鎻忚堪
+ Methodremark= Methodremark,
+ //鍝嶅簲鐘舵��
+ Success = LogStatusEnum.Success.ObjToInt(),
//璇锋眰URL
Url = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase + context.Request.Path,
//瀹㈡埛绔疘P
@@ -181,6 +234,12 @@
RequestParam = requestParameter,
//鍝嶅簲鍙傛暟
ResponseParam = responseParameter,
+ //鏂规硶鍚嶇О
+ MethodName = MethodName,
+ //鏂规硶鎻忚堪
+ Methodremark = Methodremark,
+ //鍝嶅簲鐘舵��
+ Success = LogStatusEnum.Error.ObjToInt(),
};
}
//娣诲姞绯荤粺鏃ュ織
--
Gitblit v1.9.3