Sql server 如何使用Serilog在数据库表列中记录用户名、MachineName?
我有一个ASP.NET Core 3.1 web应用程序,我正在使用Serilog将日志条目写入SQL Server数据库表。在数据库中,我用Serilog附带的标准列(例如:时间戳、消息、属性等)创建了一个表[Logs],还添加了其他列[UserName]、[ServerName]、[UrlPath] 我希望Serilog自动捕获我需要的额外信息,并将其写入相应的表列。我试图在Sql server 如何使用Serilog在数据库表列中记录用户名、MachineName?,sql-server,asp.net-core-3.1,serilog,Sql Server,Asp.net Core 3.1,Serilog,我有一个ASP.NET Core 3.1 web应用程序,我正在使用Serilog将日志条目写入SQL Server数据库表。在数据库中,我用Serilog附带的标准列(例如:时间戳、消息、属性等)创建了一个表[Logs],还添加了其他列[UserName]、[ServerName]、[UrlPath] 我希望Serilog自动捕获我需要的额外信息,并将其写入相应的表列。我试图在启动的方法Configure()中输入下面的代码,但每次执行Log.Error时,它都会在属性列中写入用户名(“此处出
启动
的方法Configure()
中输入下面的代码,但每次执行Log.Error时,它都会在属性
列中写入用户名(“此处出现一些错误消息”)代码>
app.Use(async(httpContext, next) =>
{
// Get username
var username = httpContext.User.Identity.IsAuthenticated ?
httpContext.User.Identity.Name : "anonymous";
LogContext.PushProperty("UserName", username);
await next.Invoke();
});
loggerFactory.AddSerilog();