Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
C# NLog未写入eventlog.NET Core 2.1_C#_Logging_Asp.net Core_Nlog_Asp.net Core 2.1 - Fatal编程技术网

C# NLog未写入eventlog.NET Core 2.1

C# NLog未写入eventlog.NET Core 2.1,c#,logging,asp.net-core,nlog,asp.net-core-2.1,C#,Logging,Asp.net Core,Nlog,Asp.net Core 2.1,我已经将NLog添加到我的.NET核心控制台应用程序中,它可以处理文件和数据库目标。但是,当我尝试使用eventviewer时,它不会记录任何内容。当我为eventviewer目标添加代码时,文件和数据库部分不会记录任何内容。当我删除它时,日志记录又开始工作了 我已经为使用Powershell的应用程序添加了一个新的事件查看器源代码,所以这不是问题所在。应用程序不会崩溃或报告错误,它运行正常,但在包含事件查看器时不会记录任何内容 服务器=测试;数据库=测试;用户Id=sa;密码=密码; 插入d

我已经将NLog添加到我的.NET核心控制台应用程序中,它可以处理文件和数据库目标。但是,当我尝试使用eventviewer时,它不会记录任何内容。当我为eventviewer目标添加代码时,文件和数据库部分不会记录任何内容。当我删除它时,日志记录又开始工作了

我已经为使用Powershell的应用程序添加了一个新的事件查看器源代码,所以这不是问题所在。应用程序不会崩溃或报告错误,它运行正常,但在包含事件查看器时不会记录任何内容


服务器=测试;数据库=测试;用户Id=sa;密码=密码;
插入dbo.Log(应用程序、已记录、级别、消息、记录器、调用站点、异常)
值(@Application、@Logged、@Level、@Message、@Logger、@Callsite、@Exception);

关于如何实现这一点或者我是否遗漏了什么,有什么想法吗?

.Net Core是.Net Framework的一个子集,不包括Windows事件日志之类的内容(因为其他非Windows设备上不存在这种情况)

您应该确保首先查看平台支持文档:

在这里,您将看到为Windows平台上的.Net核心应用程序创建了一个特殊的Nuget软件包:


.Net Core是.Net Framework的一个子集,不包括Windows事件日志之类的内容(因为其他非Windows设备上不存在此类内容)

您应该确保首先查看平台支持文档:

在这里,您将看到为Windows平台上的.Net核心应用程序创建了一个特殊的Nuget软件包:


对我来说,答案是将“NLog.WindowsEventLog”程序集添加到NLog.config的扩展区域:

<extensions>
   <add assembly="NLog.WindowsEventLog" />
</extensions>


我有默认设置:“NLog.Web.AspNetCore”。

对我来说,答案是将“NLog.WindowsEventLog”程序集添加到NLog.config的扩展区域:

<extensions>
   <add assembly="NLog.WindowsEventLog" />
</extensions>


我有默认设置:“NLog.Web.AspNetCore”。

内部日志告诉您什么?我通常觉得它非常详细。是的,我忘记了内部日志记录。谢谢我添加了下面提到的nuget包Rolf,尝试时出现以下错误:2018-07-31 17:15:43.8327信息加载程序集:NLog.WindowsEventLog 2018-07-31 17:15:44.0588错误解析布局all-e vent属性将被忽略。异常:System.ArgumentException:LayoutRenderer找不到:NLog.Config.Factory`2.CreateInstance(字符串名称)处的NLog.Layouts.LayoutParser.GetLayoutRenderer(ConfigurationItemFactory ConfigurationItemFactory,字符串名称)处的“all-e vent properties”@用户2661305可以看到您在
日志文件中添加了一个换行符。尝试在不使用换行符的情况下编写
${all event properties}
,内部日志记录告诉您什么?我通常觉得它非常详细。是的,我忘记了内部日志记录。谢谢我添加了下面提到的nuget包Rolf,尝试时出现以下错误:2018-07-31 17:15:43.8327信息加载程序集:NLog.WindowsEventLog 2018-07-31 17:15:44.0588错误解析布局all-e vent属性将被忽略。异常:System.ArgumentException:LayoutRenderer找不到:NLog.Config.Factory`2.CreateInstance(字符串名称)处的NLog.Layouts.LayoutParser.GetLayoutRenderer(ConfigurationItemFactory ConfigurationItemFactory,字符串名称)处的“all-e vent properties”@用户2661305可以看到您在
日志文件中添加了一个换行符。尝试编写
${all event properties}
,而不使用newlinesThanks。我现在在那里添加了这个包并再次运行了这个应用程序,现在我可以看到错误是什么:2018-07-31 17:15:43.8327信息加载程序集:NLog.WindowsEventLog 2018-07-31 17:15:44.0588错误解析布局所有事件属性都将被忽略。异常:System.ArgumentException:LayoutRenderer找不到:NLog.Config.Factory`2.CreateInstance(字符串名称)处的NLog.Layouts.LayoutParser.GetLayoutRenderer(ConfigurationItemFactory ConfigurationItemFactory,字符串名称)@user2661305可以看到您在
日志文件中添加了一个新行。尝试在不使用换行符的情况下编写
${all event properties}
。我已排除换行符,只留下消息&异常。仍然存在错误:2018-08-01解析布局时出错所有事件属性都将被忽略。异常:在NLog.Config.Factory中找不到LayoutRenderer:“所有事件属性…”。。。2018-08-01从C:\Users\user20\source\repos\TestLogging\TestLogging\nlog.config解析配置时出错失败。异常:解析C:\Users\user20\source\repos\TestLogging\TestLogging\nlog.config时出现异常。-->在NLog.Config上找不到目标:“EventLog”。Factory@user2661305尝试从NLog.config中删除除
EventLog
-目标和单个日志规则之外的所有内容。而不是第一次尝试飞行。然后像所有开发人员一样从那里开始工作。嗨,我已经将所有内容剥离出来,只留下事件日志规则和目标。它仍然会出错:错误解析配置-找不到目标:“EventLog”。。。当我添加nuget包时,这是否可以无缝工作,或者使用NLog.WindowsEventLog包需要做什么额外的工作?我在配置中添加了这一行,我想我可能也需要它:谢谢。我现在在那里添加了这个包并再次运行了这个应用程序,现在我可以看到错误是什么:2018-07-31 17:15:43.8327信息加载程序集:NLog.WindowsEventLog 2018-07-31 17:15:44.0588错误解析布局所有事件属性都将被忽略。异常:System.ArgumentException:LayoutRenderer在NLog.Config.Factory`2.CreateInstance中找不到:“所有事件属性”