我一直在尝试添加EventLog提供程序以登录我的ASP.NET应用程序。我能够将其添加到“应用程序”源中,但是该日志中有很多信息,我希望它包含在其自己的源中。我实际上已经将3个日志写入其自己的来源,但是我不知道如何或为什么。这是我的代码现在的样子:
CreateWebHostBuilder(args)
.ConfigureLogging( logging =>
{
logging.AddEventLog(
new Microsoft.Extensions.Logging.EventLog.EventLogSettings
{
SourceName = "MySweetApp",
MachineName = ".",
LogName = "MySweetApp",
Filter = (category, level) =>
{
if (category.EndsWith("Controller") || level >= LogLevel.Error)
{
return true;
}
return false;
},
});
})
.Build()
.Run();
我已经在那里为该应用添加了注册表项(因为该应用没有管理员权限并且无法添加源)以及EventMessageFile C:\Windows\Microsoft.NET\Framework64\v4.0.30319\EventLogMessages.dll
。我搞砸了不同的值,包括非64框架文件夹和其他v2版本。没有错误或警告,我找不到与它们相关的任何日志。我还使用.AddDebug()
添加了调试记录器,它可以在调试窗口中正常打印。
我猜这是服务器端的问题,而不是我的代码。预先感谢。
更新:我现在可以重新创建我的应用程序,从而在事件日志中创建错误日志。如果我通过双击.exe启动程序,则会抛出身份验证错误并将其发送到日志。
答案 0 :(得分:0)
找到了。我的appsettings.json的“日志记录”部分仍然默认设置为警告。删除该部分,一切开始打印!