Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用Serilog在数据库表列中记录用户名、MachineName?_Sql Server_Asp.net Core 3.1_Serilog - Fatal编程技术网

Sql server 如何使用Serilog在数据库表列中记录用户名、MachineName?

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时,它都会在属性列中写入用户名(“此处出

我有一个ASP.NET Core 3.1 web应用程序,我正在使用Serilog将日志条目写入SQL Server数据库表。在数据库中,我用Serilog附带的标准列(例如:时间戳、消息、属性等)创建了一个表[Logs],还添加了其他列[UserName]、[ServerName]、[UrlPath]

我希望Serilog自动捕获我需要的额外信息,并将其写入相应的表列。我试图在
启动
的方法
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();