Jelajahi Sumber

1、简化日志初始化 2、增加批量文件上传

zuohuaijun 3 tahun lalu
induk
melakukan
bdfa3b4225

+ 4 - 4
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -25,9 +25,9 @@
   <ItemGroup>
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
     <PackageReference Include="Caching.CSRedis" Version="3.8.3" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.2.2" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.2.2" />
-    <PackageReference Include="Furion.Pure" Version="4.2.2" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.2.3" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.2.3" />
+    <PackageReference Include="Furion.Pure" Version="4.2.3" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.6.4" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.8" />
     <PackageReference Include="NETCore.MailKit" Version="2.1.0" />
@@ -35,7 +35,7 @@
     <PackageReference Include="QuestPDF" Version="2022.8.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="2.16.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="2.11.0" />
-    <PackageReference Include="SqlSugarCore" Version="5.1.2.1" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.2.2" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.2.19" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />

+ 7 - 0
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -5070,6 +5070,13 @@
             <param name="file"></param>
             <returns></returns>
         </member>
+        <member name="M:Admin.NET.Core.Service.SysFileService.UploadFiles(System.Collections.Generic.List{Microsoft.AspNetCore.Http.IFormFile})">
+            <summary>
+            上传多文件
+            </summary>
+            <param name="files"></param>
+            <returns></returns>
+        </member>
         <member name="M:Admin.NET.Core.Service.SysFileService.DownloadFile(Admin.NET.Core.Service.FileInput)">
             <summary>
             下载文件(文件流)

+ 17 - 0
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -75,6 +75,23 @@ public class SysFileService : IDynamicApiController, ITransient
     }
 
     /// <summary>
+    /// 上传多文件
+    /// </summary>
+    /// <param name="files"></param>
+    /// <returns></returns>
+    [HttpPost("/sysFile/uploads")]
+    [AllowAnonymous]
+    public async Task<List<FileOutput>> UploadFiles([Required] List<IFormFile> files)
+    {
+        var filelist = new List<FileOutput>();
+        foreach (var file in files)
+        {
+            filelist.Add(await UploadFile(file));
+        }
+        return filelist;
+    }
+
+    /// <summary>
     /// 下载文件(文件流)
     /// </summary>
     /// <param name="input"></param>

+ 1 - 1
Admin.NET/Admin.NET.UnitTest/Admin.NET.UnitTest.csproj

@@ -8,7 +8,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Furion.Pure.Xunit" Version="4.2.2" />
+    <PackageReference Include="Furion.Pure.Xunit" Version="4.2.3" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.8" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.0" />
     <PackageReference Include="xunit" Version="2.4.2" />

+ 1 - 1
Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj

@@ -11,7 +11,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.11" />
+    <PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.12" />
   </ItemGroup>
 
   <ItemGroup>

+ 12 - 46
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -24,7 +24,7 @@ public class Startup : AppStartup
     {
         // 配置选项
         services.AddProjectOptions();
-        // ORM-SqlSugar
+        // SqlSugar
         services.AddSqlSugarSetup();
         // JWT
         services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
@@ -38,7 +38,7 @@ public class Startup : AppStartup
         services.AddSensitiveDetection();
         // 结果拦截器
         services.AddMvcFilter<ResultFilter>();
-        // 日志监听特性(拦截器)
+        // 日志监听
         services.AddMonitorLogging();
 
         services.AddControllersWithViews()
@@ -106,55 +106,21 @@ public class Startup : AppStartup
         // logo显示
         services.AddLogoDisplay();
 
-        // 日志记录
-        services.AddLogging(builder =>
+        // 日志写入文件-消息、警告、错误
+        Array.ForEach(new[] { LogLevel.Information, LogLevel.Warning, LogLevel.Error }, logLevel =>
         {
-            // 每天创建一个日志文件(消息日志、错误日志、警告日志)
-            builder.AddFile("logs/{0:yyyyMMdd}_inf.log", options =>
+            services.AddFileLogging("logs/{0:yyyyMMdd}_" + $"{logLevel}.log", options =>
             {
-                options.WriteFilter = (logMsg) =>
-                {
-                    return logMsg.LogLevel == LogLevel.Information;
-                };
-                options.FileNameRule = fileName =>
-                {
-                    return string.Format(fileName, DateTime.Now);
-                };
+                options.FileNameRule = fileName => string.Format(fileName, DateTime.Now); // 每天创建一个文件
+                options.WriteFilter = logMsg => logMsg.LogLevel == logLevel;
                 options.FileSizeLimitBytes = 10 * 1024;
                 options.MaxRollingFiles = 30;
             });
-            builder.AddFile("logs/{0:yyyyMMdd}_err.log", options =>
-            {
-                options.WriteFilter = (logMsg) =>
-                {
-                    return logMsg.LogLevel == LogLevel.Error;
-                };
-                options.FileNameRule = fileName =>
-                {
-                    return string.Format(fileName, DateTime.Now);
-                };
-                options.FileSizeLimitBytes = 10 * 1024;
-                options.MaxRollingFiles = 30;
-            });
-            builder.AddFile("logs/{0:yyyyMMdd}_wrn.log", options =>
-            {
-                options.WriteFilter = (logMsg) =>
-                {
-                    return logMsg.LogLevel == LogLevel.Warning;
-                };
-                options.FileNameRule = fileName =>
-                {
-                    return string.Format(fileName, DateTime.Now);
-                };
-                options.FileSizeLimitBytes = 10 * 1024;
-                options.MaxRollingFiles = 30;
-            });
-
-            // 日志写入数据库
-            builder.AddDatabase<DbLoggingWriter>(options =>
-            {
-                options.MinimumLevel = LogLevel.Information;
-            });
+        });
+        // 日志写入数据库
+        services.AddDatabaseLogging<DbLoggingWriter>(options =>
+        {
+            options.MinimumLevel = LogLevel.Information;
         });
 
         // 设置雪花Id算法机器码