diff --git a/src/blazor/admin/BootstrapAdmin.DataAccess.Models/DBLog.cs b/src/blazor/admin/BootstrapAdmin.DataAccess.Models/DBLog.cs
new file mode 100644
index 00000000..c410bf13
--- /dev/null
+++ b/src/blazor/admin/BootstrapAdmin.DataAccess.Models/DBLog.cs
@@ -0,0 +1,33 @@
+using System.ComponentModel;
+
+namespace BootstrapAdmin.DataAccess.Models
+{
+ ///
+ /// 后台数据库脚本执行日志实体类
+ ///
+ public class DBLog
+ {
+ ///
+ /// 获得/设置 主键ID
+ ///
+ public string? Id { get; set; }
+
+ ///
+ /// 获得/设置 当前登陆名
+ ///
+ [DisplayName("所属用户")]
+ public string? UserName { get; set; }
+
+ ///
+ /// 获得/设置 数据库执行脚本
+ ///
+ [DisplayName("脚本内容")]
+ public string SQL { get; set; } = "";
+
+ ///
+ /// 获取/设置 用户角色关联状态 checked 标示已经关联 '' 标示未关联
+ ///
+ [DisplayName("执行时间")]
+ public DateTime LogTime { get; set; }
+ }
+}
diff --git a/src/blazor/admin/BootstrapAdmin.Web/Jobs/DBLogTask.cs b/src/blazor/admin/BootstrapAdmin.Web/Jobs/DBLogTask.cs
new file mode 100644
index 00000000..806cd8a6
--- /dev/null
+++ b/src/blazor/admin/BootstrapAdmin.Web/Jobs/DBLogTask.cs
@@ -0,0 +1,59 @@
+using BootstrapAdmin.DataAccess.Models;
+using Longbow.Tasks;
+using PetaPoco;
+using System.Collections.Concurrent;
+
+namespace BootstrapAdmin.Web.Jobs
+{
+ ///
+ /// 数据库脚本执行日志任务实体类
+ ///
+ public class DBLogTask : ITask
+ {
+ private static readonly BlockingCollection _messageQueue = new(new ConcurrentQueue());
+
+ ///
+ /// 添加数据库日志实体类到内部集合中
+ ///
+ ///
+ public static System.Threading.Tasks.Task AddDBLog(DBLog log) => System.Threading.Tasks.Task.Run(() =>
+ {
+ if (!_messageQueue.IsAddingCompleted && !_pause)
+ {
+ _messageQueue.Add(log);
+ }
+ });
+
+ private static bool _pause;
+ ///
+ /// 暂停接收脚本执行日志
+ ///
+ public static void Pause() => _pause = true;
+
+ ///
+ /// 开始接收脚本执行日志
+ ///
+ public static void Run() => _pause = false;
+
+ ///
+ /// 任务执行方法
+ ///
+ ///
+ ///
+ public System.Threading.Tasks.Task Execute(CancellationToken cancellationToken)
+ {
+ var logs = new List();
+ while (_messageQueue.TryTake(out var log))
+ {
+ if (log != null) logs.Add(log);
+ if (logs.Count >= 100) break;
+ }
+ if (logs.Any())
+ {
+ //using var db = DbManager.Create(enableLog: false);
+ //db.InsertBatch(logs);
+ }
+ return System.Threading.Tasks.Task.CompletedTask;
+ }
+ }
+}
diff --git a/src/mvc/admin/Bootstrap.Admin/Extensions/TasksExtensions.cs b/src/mvc/admin/Bootstrap.Admin/Extensions/TasksExtensions.cs
index 704b5a2d..b5281143 100644
--- a/src/mvc/admin/Bootstrap.Admin/Extensions/TasksExtensions.cs
+++ b/src/mvc/admin/Bootstrap.Admin/Extensions/TasksExtensions.cs
@@ -54,7 +54,7 @@ namespace Microsoft.Extensions.DependencyInjection
// 真实任务负责批次写入数据执行脚本到日志中
TaskServicesManager.GetOrAdd("SQL日志", TriggerBuilder.Build(Cron.Minutely()));
- // 真实人物负责周期性设置健康检查结果开关为开启
+ // 真实任务负责周期性设置健康检查结果开关为开启
TaskServicesManager.GetOrAdd("健康检查", token => Task.FromResult(DictHelper.SaveSettings(new BootstrapDict[] {
new BootstrapDict() {
Category = "网站设置",
diff --git a/src/mvc/admin/Bootstrap.Admin/Startup.cs b/src/mvc/admin/Bootstrap.Admin/Startup.cs
index c604d3ae..2d840b1b 100644
--- a/src/mvc/admin/Bootstrap.Admin/Startup.cs
+++ b/src/mvc/admin/Bootstrap.Admin/Startup.cs
@@ -91,10 +91,7 @@ namespace Bootstrap.Admin
options.Filters.Add>();
}).AddJsonOptions(op => op.JsonSerializerOptions.AddDefaultConverters());
services.AddRazorPages();
- services.AddServerSideBlazor().AddCircuitOptions(options =>
- {
- if (Enviroment.IsDevelopment()) options.DetailedErrors = true;
- });
+ services.AddServerSideBlazor();
services.AddDisplayNames();
services.AddBootstrapBlazor();
}