Skip to content

Commit abea9b2

Browse files
committed
更新nuget包,操作日志增加局部异常处理
1 parent 65439fc commit abea9b2

File tree

4 files changed

+46
-30
lines changed

4 files changed

+46
-30
lines changed

Admin.Core.Common/Admin.Core.Common.csproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@
2222

2323
<ItemGroup>
2424
<PackageReference Include="CSRedisCore" Version="3.6.5" />
25-
<PackageReference Include="FreeSql" Version="1.7.1" />
26-
<PackageReference Include="FreeSql.Provider.MySql" Version="1.7.1" />
27-
<PackageReference Include="FreeSql.Provider.Oracle" Version="1.7.1" />
28-
<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="1.7.1" />
29-
<PackageReference Include="FreeSql.Provider.Sqlite" Version="1.7.1" />
30-
<PackageReference Include="FreeSql.Provider.SqlServer" Version="1.7.1" />
31-
<PackageReference Include="FreeSql.Repository" Version="1.7.1" />
25+
<PackageReference Include="FreeSql" Version="1.8.1" />
26+
<PackageReference Include="FreeSql.Provider.MySql" Version="1.8.1" />
27+
<PackageReference Include="FreeSql.Provider.Oracle" Version="1.8.1" />
28+
<PackageReference Include="FreeSql.Provider.PostgreSQL" Version="1.8.1" />
29+
<PackageReference Include="FreeSql.Provider.Sqlite" Version="1.8.1" />
30+
<PackageReference Include="FreeSql.Provider.SqlServer" Version="1.8.1" />
31+
<PackageReference Include="FreeSql.Repository" Version="1.8.1" />
3232
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
33-
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="3.1.7" />
34-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.7" />
35-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.7" />
33+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="3.1.8" />
34+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.8" />
35+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="3.1.8" />
3636
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.7.1" />
3737
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
3838
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.7.1" />

Admin.Core.Tests/Admin.Core.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="3.1.7" />
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.0" />
10+
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="3.1.8" />
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
1212
<PackageReference Include="xunit" Version="2.4.1" />
1313
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
1414
<PrivateAssets>all</PrivateAssets>

Admin.Core/Admin.Core.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@
4444
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" />
4545
<PackageReference Include="Autofac.Extras.DynamicProxy" Version="5.0.0" />
4646
<PackageReference Include="Caching.CSRedis" Version="3.6.5" />
47-
<PackageReference Include="FluentValidation.AspNetCore" Version="9.1.1" />
47+
<PackageReference Include="FluentValidation.AspNetCore" Version="9.2.0" />
4848
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
49-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.7" />
50-
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.7" />
49+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.8" />
50+
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.8" />
5151
<PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
52-
<PackageReference Include="NLog" Version="4.7.3" />
52+
<PackageReference Include="NLog" Version="4.7.4" />
5353
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />
5454
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
5555
</ItemGroup>

Admin.Core/Logs/LogHandler.cs

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
using System.Linq;
1+
using System;
2+
using System.Linq;
23
using System.Diagnostics;
34
using System.Threading.Tasks;
5+
using Microsoft.AspNetCore.Mvc;
6+
using Microsoft.AspNetCore.Mvc.Filters;
7+
using Microsoft.Extensions.Logging;
48
using Admin.Core.Common.Output;
59
using Admin.Core.Service.Admin.OprationLog;
610
using Admin.Core.Service.Admin.OprationLog.Input;
7-
using Microsoft.AspNetCore.Mvc.Filters;
811
//using Newtonsoft.Json;
912

1013
namespace Admin.Core.Logs
@@ -14,14 +17,17 @@ namespace Admin.Core.Logs
1417
/// </summary>
1518
public class LogHandler : ILogHandler
1619
{
20+
private readonly ILogger _logger;
1721
private readonly ApiHelper _apiHelper;
1822
private readonly IOprationLogService _oprationLogService;
1923

2024
public LogHandler(
25+
ILogger<LogHandler> logger,
2126
ApiHelper apiHelper,
2227
IOprationLogService oprationLogService
2328
)
2429
{
30+
_logger = logger;
2531
_apiHelper = apiHelper;
2632
_oprationLogService = oprationLogService;
2733
}
@@ -30,27 +36,37 @@ public async Task LogAsync(ActionExecutingContext context, ActionExecutionDelega
3036
{
3137
var sw = new Stopwatch();
3238
sw.Start();
33-
dynamic actionResult = (await next()).Result;
39+
var actionExecutedContext = await next();
3440
sw.Stop();
3541

3642
//操作参数
3743
//var args = JsonConvert.SerializeObject(context.ActionArguments);
3844
//操作结果
3945
//var result = JsonConvert.SerializeObject(actionResult?.Value);
4046

41-
var res = actionResult?.Value as IResponseOutput;
42-
43-
var input = new OprationLogAddInput
47+
try
4448
{
45-
ApiMethod = context.HttpContext.Request.Method.ToLower(),
46-
ApiPath = context.ActionDescriptor.AttributeRouteInfo.Template.ToLower(),
47-
ElapsedMilliseconds = sw.ElapsedMilliseconds,
48-
Status = res?.Success,
49-
Msg = res?.Msg
50-
};
51-
input.ApiLabel = _apiHelper.GetApis().FirstOrDefault(a => a.Path == input.ApiPath)?.Label;
49+
var input = new OprationLogAddInput
50+
{
51+
ApiMethod = context.HttpContext.Request.Method.ToLower(),
52+
ApiPath = context.ActionDescriptor.AttributeRouteInfo.Template.ToLower(),
53+
ElapsedMilliseconds = sw.ElapsedMilliseconds
54+
};
5255

53-
await _oprationLogService.AddAsync(input);
56+
if (actionExecutedContext.Result is ObjectResult result && result.Value is IResponseOutput res)
57+
{
58+
input.Status = res.Success;
59+
input.Msg = res.Msg;
60+
}
61+
62+
input.ApiLabel = _apiHelper.GetApis().FirstOrDefault(a => a.Path == input.ApiPath)?.Label;
63+
64+
await _oprationLogService.AddAsync(input);
65+
}
66+
catch (Exception ex)
67+
{
68+
_logger.LogError("操作日志插入异常:{@ex}", ex);
69+
}
5470
}
5571
}
5672
}

0 commit comments

Comments
 (0)