This commit is contained in:
不做码农 2022-03-17 20:21:38 +08:00
commit a47821fb69
3 changed files with 93 additions and 82 deletions

View File

@ -28,7 +28,7 @@ namespace ZR.Admin.WebApi.Extensions
{
string connStr = Configuration.GetConnectionString(OptionsSetting.ConnAdmin);
string connStrBus = Configuration.GetConnectionString(OptionsSetting.ConnBus);
string dbKey = Configuration[OptionsSetting.DbKey];
int dbType = Convert.ToInt32(Configuration[OptionsSetting.ConnDbType]);
int dbType_bus = Convert.ToInt32(Configuration[OptionsSetting.ConnBusDbType]);
@ -45,37 +45,44 @@ namespace ZR.Admin.WebApi.Extensions
IsAutoCloseConnection = true
}
});
//每次Sql执行前事件
DbScoped.SugarScope.GetConnection(0).Aop.OnLogExecuting = (sql, pars) =>
SugarIocServices.ConfigurationSugar(db =>
{
var param = DbScoped.SugarScope.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value));
#region db0
db.GetConnection(0).Aop.OnLogExecuting = (sql, pars) =>
{
var param = DbScoped.SugarScope.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value));
FilterData();
FilterData();
logger.Info($"{sql}{param}");
};
//出错打印日志
DbScoped.SugarScope.GetConnection(0).Aop.OnError = (e) =>
{
logger.Error(e, $"执行SQL出错{e.Message}");
};
//SQL执行完
DbScoped.SugarScope.GetConnection(0).Aop.OnLogExecuted = (sql, pars) =>
{
//执行完了可以输出SQL执行时间 (OnLogExecutedDelegate)
};
//Db1
DbScoped.SugarScope.GetConnection(1).Aop.OnLogExecuting = (sql, pars) =>
{
var param = DbScoped.SugarScope.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value));
logger.Info($"{sql}{param}");
};
logger.Info($"Sql语句{sql}, {param}");
};
//Db1错误日志
DbScoped.SugarScope.GetConnection(1).Aop.OnError = (e) =>
{
logger.Error($"执行Sql语句失败{e.Sql},原因:{e.Message}");
};
db.GetConnection(0).Aop.OnError = (e) =>
{
logger.Error(e, $"执行SQL出错{e.Message}");
};
//SQL执行完
db.GetConnection(0).Aop.OnLogExecuted = (sql, pars) =>
{
//执行完了可以输出SQL执行时间 (OnLogExecutedDelegate)
};
#endregion
#region db1
//Db1
db.GetConnection(1).Aop.OnLogExecuting = (sql, pars) =>
{
var param = DbScoped.SugarScope.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value));
logger.Info($"Sql语句{sql}, {param}");
};
//Db1错误日志
db.GetConnection(1).Aop.OnError = (e) =>
{
logger.Error($"执行Sql语句失败{e.Sql},原因:{e.Message}");
};
#endregion
});
}
/// <summary>

View File

@ -6,64 +6,68 @@
internalLogLevel="Info"
internalLogFile="nlog-internal.log">
<!--Nlog 文档参考地址https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-2-->
<!--internalLogLevel Nlog内部日志记录为Off关闭。除非纠错不可以设为Trace否则速度很慢起码Debug以上-->
<!--自定义变量-->
<variable name="logDir" value="${basedir}/nlogs/${date:format=yyyyMMdd}/${level}.log"/>
<!--Nlog 文档参考地址https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-2-->
<!--internalLogLevel Nlog内部日志记录为Off关闭。除非纠错不可以设为Trace否则速度很慢起码Debug以上-->
<!--自定义变量-->
<variable name="logDir" value="${basedir}/nlogs/${date:format=yyyyMMdd}/${level}.log"/>
<!-- Load the ASP.NET Core plugin,enable asp.net core layout renderers-->
<extensions>
<add assembly="NLog.Web.AspNetCore" />
</extensions>
<!-- Load the ASP.NET Core plugin,enable asp.net core layout renderers-->
<extensions>
<add assembly="NLog.Web.AspNetCore" />
</extensions>
<!--define various log targets-->
<targets async="true">
<!--写入文件-->
<!--滚动日志文件上限数,滚动日志文件数达到上限新的文件内容会覆盖旧文件内容 -->
<!--archiveAboveSize每个日志文件大小的最大值单位字节主日志文件超过大小超过该值时会将文件内容写入滚动日志并清空主日志文件内容-->
<!--${basedir}表示当前应用程序域所在的根目录-->
<target name="allfile" xsi:type="File"
fileName="${basedir}/adminlogs/all.txt"
archiveFileName="${basedir}/adminlogs/all.{###}.txt"
archiveEvery="Day"
archiveNumbering="DateAndSequence"
archiveAboveSize="20000000"
maxArchiveFiles="30"
keepFileOpen="true"
layout="${longdate} | ${event-properties:item=EventId_Id} | ${uppercase:${level}} | ${logger} | ${aspnet-request-iP:CheckForwardedForHeader=true} | ${event-properties:item=user} | ${aspnet-request-url} | ${message} | ${event-properties:item=requestParam} | ${event-properties:item=jsonResult} | ${onexception:${exception:format=tostring}"/>
<!--define various log targets-->
<targets async="true">
<!--写入文件-->
<!--滚动日志文件上限数,滚动日志文件数达到上限新的文件内容会覆盖旧文件内容 -->
<!--archiveAboveSize每个日志文件大小的最大值单位字节主日志文件超过大小超过该值时会将文件内容写入滚动日志并清空主日志文件内容-->
<!--${basedir}表示当前应用程序域所在的根目录-->
<target name="allfile" xsi:type="File"
fileName="${basedir}/adminlogs/all.txt"
archiveFileName="${basedir}/adminlogs/all.{###}.txt"
archiveEvery="Day"
archiveNumbering="DateAndSequence"
archiveAboveSize="20000000"
maxArchiveFiles="30"
keepFileOpen="true"
layout="${longdate} | ${event-properties:item=EventId_Id} | ${uppercase:${level}} | ${logger} | ${aspnet-request-iP:CheckForwardedForHeader=true} | ${event-properties:item=user} | ${aspnet-request-url} | ${message} | ${event-properties:item=requestParam} | ${event-properties:item=jsonResult} | ${onexception:${exception:format=tostring}"/>
<!--SQL-->
<target name="sqlfile" xsi:type="File"
fileName="${basedir}/adminlogs/all-sql.txt"
archiveFileName="${basedir}/adminlogs/all.sql{###}.txt"
archiveEvery="Day"
archiveNumbering="DateAndSequence"
archiveAboveSize="20000000"
maxArchiveFiles="30"
keepFileOpen="false"
layout="===========================================${newline} ${longdate} - ${aspnet-request-iP} - ${aspnet-request-headers:HeaderNames=userid} - ${aspnet-request-url} ${newline} ${message}"/>
<!--SQL-->
<target name="sqlfile" xsi:type="File"
fileName="${basedir}/adminlogs/all-sql.txt"
archiveFileName="${basedir}/adminlogs/all.sql{###}.txt"
archiveEvery="Day"
archiveNumbering="DateAndSequence"
archiveAboveSize="20000000"
maxArchiveFiles="30"
keepFileOpen="false"
layout="===========================================${newline} ${longdate} - ${aspnet-request-iP} - ${aspnet-request-headers:HeaderNames=userid} - ${aspnet-request-url} ${newline} ${message}"/>
<!--写入控制台-->
<target name="console" xsi:type="ColoredConsole"
layout="${date:format=MM-dd HH\:mm\:ss} | ${uppercase:${level}} | ${logger} | ${aspnet-request-iP} | ${aspnet-request-url} | ${message}"/>
<!--写入控制台-->
<target name="console" xsi:type="ColoredConsole"
layout="${date:format=MM-dd HH\:mm\:ss} | ${uppercase:${level}} | ${logger} | ${aspnet-request-iP} | ${aspnet-request-url} | ${message}"/>
<!--写入黑洞-->
<target name="blackhole" xsi:type="Null" />
</targets>
<target name="consoleSql" xsi:type="ColoredConsole"
layout="${date:format=MM-dd HH\:mm\:ss} | ${aspnet-request-url} ${newline} ${message}"/>
<rules>
<!-- 除非调试需要,把 .NET Core 程序集的 Debug 输出都屏蔽 Trace -> Debug-> Info ->Warn-> Error-> Critical-->
<!--跳过所有级别的Microsoft组件的日志记录-->
<!--<logger name="Microsoft.*" writeTo="blackhole" final="true" />-->
<!-- 除非调试需要,把系统的 Debug 输出都屏蔽 -->
<!--<logger name="System.*" writeTo="blackhole" final="true" />-->
<!-- Quartz -->
<logger name="Quartz*" minlevel="Trace" maxlevel="Info" final="true" />
<logger name="*" minLevel="Debug" writeTo="console"/>
<logger name="ZR.Admin.WebApi.Extensions.DbExtension" final="true" writeTo="sqlfile"/>
<!--写入黑洞-->
<target name="blackhole" xsi:type="Null" />
</targets>
<logger name="*" minLevel="Trace" writeTo="allfile" />
<!--Skip non-critical Microsoft logs and so log only own logs-->
<logger name="Microsoft.*,Quartz.Core.QuartzSchedulerThread" maxlevel="Info" final="true" />
</rules>
<rules>
<!-- 除非调试需要,把 .NET Core 程序集的 Debug 输出都屏蔽 Trace -> Debug-> Info ->Warn-> Error-> Critical-->
<!--跳过所有级别的Microsoft组件的日志记录-->
<!--<logger name="Microsoft.*" writeTo="blackhole" final="true" />-->
<!-- 除非调试需要,把系统的 Debug 输出都屏蔽 -->
<!--<logger name="System.*" writeTo="blackhole" final="true" />-->
<!-- Quartz -->
<logger name="Quartz*" minlevel="Trace" maxlevel="Info" final="true" />
<logger name="ZR.Admin.WebApi.Extensions.DbExtension" final="true" writeTo="consoleSql"/>
<logger name="*" minLevel="Debug" writeTo="console"/>
<logger name="ZR.Admin.WebApi.Extensions.DbExtension" final="true" writeTo="sqlfile"/>
<logger name="*" minLevel="Trace" writeTo="allfile" />
<!--Skip non-critical Microsoft logs and so log only own logs-->
<logger name="Microsoft.*,Quartz.Core.QuartzSchedulerThread" maxlevel="Info" final="true" />
</rules>
</nlog>

View File

@ -2,7 +2,7 @@ module.exports = {
/**
* 框架版本号
*/
version: '3.7.7',
version: '3.7.8',
title: 'ZrAdmin.NET-后台管理',
/**
* 主题颜色