C#,. NET Core 3.1, Windows 10 x64.
Я хочу использовать Windows Просмотр событий через C#. Например, я хочу записать записи в журнал. Я использую код из руководства Microsoft:
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.");
}
}
}
Я дважды запускал этот код. Работает нормально:

Но если я изменю значения source
и logName
, я получу неожиданное поведение:
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
). Почему это происходит?