C# 为什么EventLog会将信息写入其他日志(MyNewLog而不是MyApp)?
C、 .NET Core 3.1,Windows 10 x64 我想通过C使用Windows事件查看器。例如,我想将记录写入日志。我使用Microsoft手册中的代码:C# 为什么EventLog会将信息写入其他日志(MyNewLog而不是MyApp)?,c#,.net-core,C#,.net Core,C、 .NET Core 3.1,Windows 10 x64 我想通过C使用Windows事件查看器。例如,我想将记录写入日志。我使用Microsoft手册中的代码: using System.Diagnostics; // NuGet: System.Diagnostics.EventLog namespace ConsoleAppThreading { class Program { static void Main(string[] args) {
using System.Diagnostics; // NuGet: System.Diagnostics.EventLog
namespace ConsoleAppThreading {
class Program {
static void Main(string[] args) {
var source = "MySource";
var logName = "MyNewLog";
if (!EventLog.SourceExists(source)) {
EventLog.CreateEventSource(source, logName);
return;
}
EventLog myLog = new EventLog();
myLog.Source = source;
myLog.WriteEntry("Writing to event log.");
}
}
}
我运行了两次这个代码。它工作得很好:
但如果我更改源和日志名值,则会出现意外行为:
using System.Diagnostics; // NuGet: System.Diagnostics.EventLog
namespace ConsoleAppThreading {
class Program {
static void Main(string[] args) {
var source = "Bushman"; // Changed
var logName = "MyApp"; // Changed
if (!EventLog.SourceExists(source)) {
EventLog.CreateEventSource(source, logName);
return;
}
EventLog myLog = new EventLog();
myLog.Source = source;
myLog.WriteEntry("Writing to event log 3."); // Changed
}
}
}
这个代码我也运行了两次。结果是:
及
日志记录被写入其他日志MyNewLog而不是MyApp。为什么会发生这种情况?在测试时,您是否在任何时候使用“Bushman”源代码和“MyNewLog”日志名运行代码 如果是这样,您可能需要根据文档重新启动。如果源已映射到日志并重新映射到新日志,则必须重新启动计算机才能使更改生效
核心文档链接返回什么;是否?@mjwills退出应用程序。您是否在测试时随时使用Bushman源代码和MyNewLog日志名运行代码?如果是这样,您可能需要根据文档重新启动。如果源已映射到日志并重新映射到新日志,则必须重新启动计算机才能使更改生效。就在页面底部和核心3.1链接上,它说了同样的话。