c# - Serilog 没有写入 MsSql 服务器数据库,也没有显示任何错误
问题描述
我正在尝试使用 serilog 将日志写入 MsSql 服务器。我的应用程序是 .Net Core 2.1 控制台应用程序。我正在使用 Serilog MsSql 接收器
我使用以下 sql 命令创建了一个表
CREATE TABLE [Logs] (
[Id] int IDENTITY(1,1) NOT NULL,
[Message] nvarchar(max) NULL,
[MessageTemplate] nvarchar(max) NULL,
[Level] nvarchar(128) NULL,
[TimeStamp] datetimeoffset(7) NOT NULL, -- use datetime for SQL Server pre-2008
[Exception] nvarchar(max) NULL,
[Properties] xml NULL
CONSTRAINT [PK_Logs]
PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
) ON [PRIMARY];
我的 C# 代码:
static void Main(string[] args)
{
try
{
Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.MSSqlServer("Server=xyz;Database=abc;Trusted_Connection=True;", "Logs")
.CreateLogger();
Log.Information("Hello");
}
catch (Exception ex)
{
throw;
}
}
我的问题是 serilog 也没有写入数据库它没有显示任何错误。我尝试使用 Ado.Net 进行连接,它正在连接和插入。但是使用 serilog 它不起作用。我错过了什么?
解决方案
只有一条线解决了我的问题。
Log.CloseAndFlush();
推荐阅读
- javascript - 如何解决对变量的承诺?
- mysql - MYSQL 存储 JSON - 最好的方法?
- python-3.x - PyQt5 - 在 QAction() 和 menuBar.addMenu() 方法中,“&”代表什么?
- javascript - Attempting JavaScript Snake Game - Snake Tail 被画成碎片;不在一起
- python-3.x - 从配置文件中读取的 '\r\n' 不等同于 python 的解释或 '\r\n'
- entity-framework - 工作单元 sql 查询性能下降
- arrays - 在 Visual Basic 中对数组的浅拷贝感到困惑
- c# - ASP.NET MVC 登录 ReturnUrl=%2F
- python - Django:结合两个相似的 util 函数
- python - 如何迭代地实现牛顿法来估计根