ASP.NET Core EventLog未注册

时间:2019-02-07 23:47:06

标签: c# asp.net-core

我一直在尝试添加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启动程序,则会抛出身份验证错误并将其发送到日志。

1 个答案:

答案 0 :(得分:0)

找到了。我的appsettings.json的“日志记录”部分仍然默认设置为警告。删除该部分,一切开始打印!