🐛fix: 部分服务器晚8个小时问题

This commit is contained in:
yubaolee
2025-10-18 14:38:49 +08:00
parent 983e185fa9
commit f7230d9092
15 changed files with 171 additions and 70 deletions

View File

@@ -3,10 +3,9 @@ title: 日志操作
createTime: 2025/04/23 21:03:10
permalink: /core/log/
---
## 普通日志
框架默认使用Log4Net作为记录日志的方式可以在Program.cs中配置日志参数或调整为其他日志。日志默认按日期生成日志文件并存放在`log\`目录下。简单用法如下:
框架默认使用Log4Net作为记录日志的方式可以在Program.cs中配置日志参数或调整为其他日志。日志默认按日期生成日志文件并存放在 `log\`目录下。简单用法如下:
```csharp
//具体代码参考OpenAuth.App/OpenJobApp.cs此处简化真实逻辑方便理解
@@ -25,7 +24,7 @@ permalink: /core/log/
## 数据库日志
如果想使用数据库记录业务日志(如系统默认的用户操作日志等),可以使用`SysLogApp`模块功能。日志可以在站点【消息日志】->【系统日志】中查看到记录的日志信息。简单用法如下:
如果想使用数据库记录业务日志(如系统默认的用户操作日志等),可以使用 `SysLogApp`模块功能。日志可以在站点【消息日志】->【系统日志】中查看到记录的日志信息。简单用法如下:
```csharp
//具体代码参考OpenAuth.App/OpenJobApp.cs此处简化真实逻辑方便理解
@@ -49,30 +48,9 @@ permalink: /core/log/
}
```
## EF打印Sql日志
## EF输出Sql到log4net文件/控制台)
在调试数据库时需要打印真正执行的SQL信息。最简单的方式是使用下面方法输出到控制台
```csharp
public partial class OpenAuthDBContext : DbContext
{
public static readonly ILoggerFactory MyLoggerFactory
= LoggerFactory.Create(builder => { builder.AddConsole(); });
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.EnableSensitiveDataLogging (true); //允许打印参数
optionsBuilder.UseLoggerFactory (MyLoggerFactory);
base.OnConfiguring (optionsBuilder);
}
}
```
## EF输出Sql到log4net
框架目前直接配置`appsettings.Development.json`即可完成输出sql语句到log4net对应的日志文件中。如下
框架目前直接配置 `appsettings.Development.json`即可完成输出sql语句到log4net对应的日志文件中。如下
```
"Logging": {
@@ -82,7 +60,7 @@ permalink: /core/log/
}
```
正式发布环境下,如无特殊需求,建议在`appsettings.Production.json`配置中关闭该输出
正式发布环境下,如无特殊需求,建议在 `appsettings.Production.json`配置中关闭该输出
## 在Swagger中输出日志
@@ -90,7 +68,7 @@ permalink: /core/log/
![2025-04-24-00-23-43](http://img.openauth.net.cn/2025-04-24-00-23-43.png)
点击`sql`列的时间查看详细的sql执行情况
点击 `sql`列的时间查看详细的sql执行情况
![2025-04-24-00-23-53](http://img.openauth.net.cn/2025-04-24-00-23-53.png)
@@ -119,6 +97,5 @@ public LoginResult Login(PassportLoginRequest request)
return result;
}
```
这时调用该API后即可看到具体步骤一、步骤二、步骤三的执行时间情况了