|
|
@@ -173,12 +173,11 @@ var groups = new List<Tuple<string, string>>
|
|
|
#endregion
|
|
|
|
|
|
#region 注入数据库
|
|
|
+
|
|
|
+#region old
|
|
|
+
|
|
|
builder.Services.AddScoped(options =>
|
|
|
{
|
|
|
- var cpuCount = Environment.ProcessorCount;
|
|
|
- var poolMin = Math.Max(5, cpuCount * 2);
|
|
|
- var poolMax = Math.Max(100, cpuCount * 20);
|
|
|
-
|
|
|
return new SqlSugarClient(new List<ConnectionConfig>()
|
|
|
{
|
|
|
new() {
|
|
|
@@ -197,65 +196,31 @@ builder.Services.AddScoped(options =>
|
|
|
}
|
|
|
, db =>
|
|
|
{
|
|
|
- //SQL执行完
|
|
|
+ // SQL执行完
|
|
|
db.Aop.OnLogExecuted = (sql, pars) =>
|
|
|
{
|
|
|
- //if (db.Ado.SqlExecutionTime.TotalSeconds > 1)
|
|
|
- //{
|
|
|
- //代码CS文件名
|
|
|
- var fileName = db.Ado.SqlStackTrace.FirstFileName;
|
|
|
- //代码行数
|
|
|
- var fileLine = db.Ado.SqlStackTrace.FirstLine;
|
|
|
- //方法名
|
|
|
- var FirstMethodName = db.Ado.SqlStackTrace.FirstMethodName;
|
|
|
- //执行完了可以输出SQL执行时间 (OnLogExecutedDelegate)
|
|
|
- Console.WriteLine("NowTime:" + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
- Console.WriteLine("MethodName:" + FirstMethodName);
|
|
|
- Console.WriteLine("ElapsedTime:" + db.Ado.SqlExecutionTime.ToString());
|
|
|
- Console.WriteLine("ExecuteSQL:" + sql);
|
|
|
-
|
|
|
- //}
|
|
|
+ // 超过1秒
|
|
|
+ if (db.Ado.SqlExecutionTime.TotalSeconds > 1)
|
|
|
+ {
|
|
|
+ var fileName = db.Ado.SqlStackTrace.FirstFileName;
|
|
|
+ var fileLine = db.Ado.SqlStackTrace.FirstLine;
|
|
|
+ var FirstMethodName = db.Ado.SqlStackTrace.FirstMethodName;
|
|
|
+ //执行完了可以输出SQL执行时间 (OnLogExecutedDelegate)
|
|
|
+ Console.WriteLine("NowTime:" + DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
+ Console.WriteLine("MethodName:" + FirstMethodName);
|
|
|
+ Console.WriteLine("ElapsedTime:" + db.Ado.SqlExecutionTime.ToString());
|
|
|
+ Console.WriteLine("ExecuteSQL:" + sql);
|
|
|
+ }
|
|
|
};
|
|
|
//SQL执行前
|
|
|
db.Aop.OnLogExecuting = (sql, pars) =>
|
|
|
{
|
|
|
- //获取原生SQL推荐 5.1.4.63 性能OK
|
|
|
- UtilMethods.GetNativeSql(sql, pars);
|
|
|
-
|
|
|
- //获取无参数化SQL 影响性能只适合调试
|
|
|
- //UtilMethods.GetSqlString(DbType.SqlServer, sql, pars);
|
|
|
-
|
|
|
- if (pars != null || pars.Length > 0)
|
|
|
- {
|
|
|
- Console.WriteLine("============== 完整 SQL ==============");
|
|
|
- var resultSql = sql;
|
|
|
-
|
|
|
- foreach (var param in pars)
|
|
|
- {
|
|
|
- var par = param.Value;
|
|
|
- if (par != null)
|
|
|
- {
|
|
|
- var formattedValue = par switch
|
|
|
- {
|
|
|
- string str => $"'{str.Replace("'", "''")}'",
|
|
|
- DateTime date => $"'{date:yyyy-MM-dd HH:mm:ss}'",
|
|
|
- bool b => b ? "1" : "0",
|
|
|
- _ => par.ToString()
|
|
|
- };
|
|
|
- resultSql = resultSql.Replace(param.ParameterName, formattedValue);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- Console.WriteLine(resultSql);
|
|
|
- Console.WriteLine("=====================================");
|
|
|
- }
|
|
|
};
|
|
|
//SQL报错
|
|
|
db.Aop.OnError = (exp) =>
|
|
|
{
|
|
|
//获取原生SQL推荐 5.1.4.63 性能OK
|
|
|
//UtilMethods.GetNativeSql(exp.Sql, exp.Parametres);
|
|
|
-
|
|
|
//获取无参数SQL对性能有影响,特别大的SQL参数多的,调试使用
|
|
|
//UtilMethods.GetSqlString(DbType.SqlServer, exp.sql, exp.parameters);
|
|
|
|
|
|
@@ -270,6 +235,9 @@ builder.Services.AddScoped(options =>
|
|
|
}
|
|
|
);
|
|
|
});
|
|
|
+
|
|
|
+#endregion
|
|
|
+
|
|
|
#endregion
|
|
|
|
|
|
//#region Identity 配置
|
|
|
@@ -576,7 +544,7 @@ var app = builder.Build();
|
|
|
//});
|
|
|
|
|
|
//自定义异常中间件
|
|
|
-app.UseMiddleware<ExceptionHandlingMiddleware>();
|
|
|
+//app.UseMiddleware<ExceptionHandlingMiddleware>();
|
|
|
|
|
|
//serilog日志 请求中间管道
|
|
|
app.UseSerilogRequestLogging(options =>
|