1
0
懒得勤快 3 жил өмнө
parent
commit
1e1d11281b

+ 5 - 5
src/Masuit.MyBlogs.Core/Controllers/ErrorController.cs

@@ -13,6 +13,7 @@ using Microsoft.AspNetCore.Diagnostics;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.Net.Http.Headers;
+using System.Diagnostics;
 using System.Text;
 using System.Web;
 using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
@@ -55,7 +56,6 @@ namespace Masuit.MyBlogs.Core.Controllers
         public async Task<ActionResult> ServiceUnavailable()
         {
             var feature = HttpContext.Features.Get<IExceptionHandlerPathFeature>();
-            string accept = Request.Headers[HeaderNames.Accept] + "";
             if (feature != null)
             {
                 string err;
@@ -64,19 +64,19 @@ namespace Masuit.MyBlogs.Core.Controllers
                 {
                     case DbUpdateConcurrencyException ex:
                         err = $"数据库并发更新异常,更新表:{ex.Entries.Select(e => e.Metadata.Name)},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString},客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip}\t{ex.InnerException?.Message},请求参数:\n{await GetRequestBody(Request)}\n堆栈信息:";
-                        LogManager.Error(err, ex);
+                        LogManager.Error(err, ex.Demystify());
                         break;
 
                     case DbUpdateException ex:
                         err = $"数据库更新时异常,更新表:{ex.Entries.Select(e => e.Metadata.Name)},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString} ,客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip}\t{ex.InnerException?.Message},请求参数:\n{await GetRequestBody(Request)}\n堆栈信息:";
-                        LogManager.Error(err, ex);
+                        LogManager.Error(err, ex.Demystify());
                         break;
 
                     case AggregateException ex:
                         LogManager.Debug("↓↓↓" + ex.Message + "↓↓↓");
                         ex.Flatten().Handle(e =>
                         {
-                            LogManager.Error($"异常源:{e.Source},异常类型:{e.GetType().Name},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString} ,客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip}\t", e);
+                            LogManager.Error($"异常源:{e.Source},异常类型:{e.GetType().Name},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString} ,客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip}\t", e.Demystify());
                             return true;
                         });
                         var body = await GetRequestBody(Request);
@@ -103,7 +103,7 @@ namespace Masuit.MyBlogs.Core.Controllers
                         }) : View("TempDeny");
 
                     default:
-                        LogManager.Error($"异常源:{feature.Error.Source},异常类型:{feature.Error.GetType().Name},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString} ,客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip},请求参数:\n{await GetRequestBody(Request)}\n堆栈信息:", feature.Error);
+                        LogManager.Error($"异常源:{feature.Error.Source},异常类型:{feature.Error.GetType().Name},请求路径({Request.Method}):{Request.Scheme}://{Request.Host}{HttpUtility.UrlDecode(feature.Path)}{Request.QueryString} ,客户端用户代理:{Request.Headers[HeaderNames.UserAgent]},客户端IP:{ip},请求参数:\n{await GetRequestBody(Request)}\n堆栈信息:", feature.Error.Demystify());
                         break;
                 }
             }

+ 2 - 1
src/Masuit.MyBlogs.Core/Controllers/FileController.cs

@@ -9,6 +9,7 @@ using Masuit.Tools.Security;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Polly;
+using System.Diagnostics;
 using System.Text;
 
 namespace Masuit.MyBlogs.Core.Controllers
@@ -71,7 +72,7 @@ namespace Masuit.MyBlogs.Core.Controllers
             }
             catch (IOException e)
             {
-                LogManager.Error(GetType(), e);
+                LogManager.Error(GetType(), e.Demystify());
                 return ResultData(null, false, "保存失败");
             }
         }

+ 1 - 1
src/Masuit.MyBlogs.Core/Controllers/HealthController.cs

@@ -11,7 +11,7 @@ namespace Masuit.MyBlogs.Core.Controllers
         /// 心跳检测
         /// </summary>
         /// <returns></returns>
-        [HttpGet, Route("health")]
+        [Route("health")]
         public OkResult Check()
         {
             return Ok();

+ 1 - 1
src/Masuit.MyBlogs.Core/Controllers/HomeController.cs

@@ -52,7 +52,7 @@ namespace Masuit.MyBlogs.Core.Controllers
         /// 首页
         /// </summary>
         /// <returns></returns>
-        [HttpGet, ResponseCache(Duration = 600, VaryByHeader = nameof(HeaderNames.Cookie))]
+        [ResponseCache(Duration = 600, VaryByHeader = nameof(HeaderNames.Cookie))]
         public async Task<ActionResult> Index([FromServices] IFastShareService fastShareService)
         {
             var banners = AdsService.GetsByWeightedPrice(8, AdvertiseType.Banner, Request.Location()).OrderByRandom().ToList();

+ 3 - 1
src/Masuit.MyBlogs.Core/Controllers/SystemController.cs

@@ -15,8 +15,10 @@ using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System.ComponentModel.DataAnnotations;
+using System.Diagnostics;
 using System.Net;
 using System.Text;
+using PerformanceCounter = Masuit.MyBlogs.Core.Common.PerformanceCounter;
 
 namespace Masuit.MyBlogs.Core.Controllers
 {
@@ -203,7 +205,7 @@ namespace Masuit.MyBlogs.Core.Controllers
             }
             catch (Exception e)
             {
-                LogManager.Error(GetType(), e);
+                LogManager.Error(GetType(), e.Demystify());
                 return ResultData(null, false, "路径格式不正确!错误信息:\r\n" + e.Message + "\r\n\r\n详细堆栈跟踪:\r\n" + e.StackTrace);
             }
         }

+ 2 - 1
src/Masuit.MyBlogs.Core/Controllers/UploadController.cs

@@ -16,6 +16,7 @@ using Newtonsoft.Json;
 using OpenXmlPowerTools;
 using Polly;
 using System.ComponentModel.DataAnnotations;
+using System.Diagnostics;
 using System.Text.RegularExpressions;
 using System.Xml.Linq;
 
@@ -300,7 +301,7 @@ namespace Masuit.MyBlogs.Core.Controllers
             }
             catch (Exception e)
             {
-                LogManager.Error(e);
+                LogManager.Error(e.Demystify());
                 return ResultData(null, false, "文件上传失败!");
             }
         }

+ 2 - 1
src/Masuit.MyBlogs.Core/Extensions/UEditor/CrawlerHandler.cs

@@ -3,6 +3,7 @@ using Masuit.Tools;
 using Masuit.Tools.AspNetCore.Mime;
 using Masuit.Tools.Logging;
 using SixLabors.ImageSharp;
+using System.Diagnostics;
 using System.Net;
 using System.Text.RegularExpressions;
 
@@ -117,7 +118,7 @@ namespace Masuit.MyBlogs.Core.Extensions.UEditor
             catch (Exception e)
             {
                 State = "抓取错误:" + e.Message;
-                LogManager.Error(e);
+                LogManager.Error(e.Demystify());
             }
 
             return this;

+ 2 - 1
src/Masuit.MyBlogs.Core/Extensions/UEditor/UploadHandler.cs

@@ -2,6 +2,7 @@
 using Masuit.Tools;
 using Masuit.Tools.Logging;
 using SixLabors.ImageSharp;
+using System.Diagnostics;
 using System.Text.RegularExpressions;
 
 namespace Masuit.MyBlogs.Core.Extensions.UEditor
@@ -80,7 +81,7 @@ namespace Masuit.MyBlogs.Core.Extensions.UEditor
                 {
                     Result.State = UploadState.FileAccessError;
                     Result.ErrorMessage = e.Message;
-                    LogManager.Error(e);
+                    LogManager.Error(e.Demystify());
                 }
                 finally
                 {

+ 2 - 1
src/Masuit.MyBlogs.Core/Masuit.MyBlogs.Core.csproj

@@ -41,6 +41,7 @@
         <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.2.0" />
         <PackageReference Include="AutoMapper.Extensions.ExpressionMapping" Version="5.0.2" />
         <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
+        <PackageReference Include="Ben.Demystifier" Version="0.4.1" />
         <PackageReference Include="CacheManager.Serialization.Json" Version="1.2.0" />
         <PackageReference Include="CacheManager.StackExchange.Redis" Version="1.2.0" />
         <PackageReference Include="CHTCHSConv" Version="1.0.0" />
@@ -61,7 +62,7 @@
         <PackageReference Include="Microsoft.Graph" Version="4.27.0" />
         <PackageReference Include="Microsoft.Graph.Auth" Version="1.0.0-preview.7" />
         <PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.2.22" />
-        <PackageReference Include="OpenXmlPowerTools-NetStandard" Version="4.4.21" />
+        <PackageReference Include="OpenXmlPowerTools-NetStandard" Version="4.6.23-alpha4" />
         <PackageReference Include="MiniProfiler.EntityFrameworkCore" Version="4.2.22" />
         <PackageReference Include="PanGu.HighLight" Version="1.0.0" />
         <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.1" />

+ 2 - 1
src/Masuit.MyBlogs.Core/Views/Dashboard/Counter.razor

@@ -5,6 +5,7 @@
 @using Masuit.Tools
 @using System.IO
 @using Masuit.Tools.Logging
+@using PerformanceCounter = Masuit.MyBlogs.Core.Common.PerformanceCounter
 @inject IJSRuntime JS;
 
 <h3 class="text-center">
@@ -145,7 +146,7 @@
             return PerfCounter.GetCurrentPerformanceCounter();
         }
         catch (Exception e) {
-            LogManager.Error(e);
+            LogManager.Error(e.Demystify());
             return new PerformanceCounter();
         }
     }

+ 1 - 0
src/Masuit.MyBlogs.Core/_Imports.razor

@@ -1,4 +1,5 @@
 @using System.Net.Http
+@using System.Diagnostics
 @using Microsoft.AspNetCore.Authorization
 @using Microsoft.AspNetCore.Components.Authorization
 @using Microsoft.AspNetCore.Components.Forms

+ 3 - 0
src/Masuit.MyBlogs.Core/wwwroot/Content/common/style.css

@@ -536,6 +536,9 @@ Custom bottom spacer
     grid-gap: 8px;
 }
 
+.span-col-27 {
+    grid-column: span 27 / auto;
+}
 .span-col-28 {
     grid-column: span 28 / auto;
 }