C# 写入事件日志-如何设置用户?

C# 写入事件日志-如何设置用户?,c#,asp.net-mvc,C#,Asp.net Mvc,在我的ASP.Net MVC应用程序中,我使用EventLog.WriteEntry将某些操作记录到web服务器的应用程序日志中: StringBuilder s = new StringBuilder(); // Code to build event log message removed System.Diagnostics.EventLog.WriteEntry("Application name", s.ToString(), System.Diagnostics.EventL

在我的ASP.Net MVC应用程序中,我使用EventLog.WriteEntry将某些操作记录到web服务器的应用程序日志中:

StringBuilder s = new StringBuilder();
// Code to build event log message removed
System.Diagnostics.EventLog.WriteEntry("Application name", s.ToString(),
    System.Diagnostics.EventLogEntryType.Information);
这工作正常,但生成的日志条目将用户列为“N/A”:


有没有办法在代码中设置用户属性?据我所知,EventLog.WriteEntry重载都不允许这样做。我可以将用户名记录在邮件正文中,但这对于过滤非常有用。

如果需要该信息,您可以将用户名包含在日志条目的文本中。如果查看windows事件日志,99%的条目往往不包括用户字段。我不建议使用
System.Diagnostics.EventLog
API在应用程序中执行日志记录(尤其是因为您需要管理级别的权限来创建新的
EventSource
)。一个主要缺点是.NET不完全支持资源字符串/模板消息。您是否考虑过使用Serilog或
Microsoft.Extensions.Logging
来代替?@Dai感谢您提供有关Microsoft.Extensions.Logging的提示,我会研究一下。如果您需要这些信息,您可以在日志条目的文本中包含用户名。如果查看windows事件日志,99%的条目往往不包括用户字段。我不建议使用
System.Diagnostics.EventLog
API在应用程序中执行日志记录(尤其是因为您需要管理级别的权限来创建新的
EventSource
)。一个主要缺点是.NET不完全支持资源字符串/模板消息。您是否考虑过使用Serilog或
Microsoft.Extensions.Logging
?@Dai感谢您提供有关Microsoft.Extensions.Logging的提示,我会研究一下。