是否有写入此事件日志(log)的方法:

在此处输入图像描述

或者至少是其他一些Windows默认日志(log),where I don't have to register an event source

推荐答案

是的,有一种方法可以写入您要查找的事件日志(log).您不需要创建新的源,只需使用现有的源,它通常与EventLog的名称相同,而且在某些情况下,如事件日志(log)应用程序,无需管理权限即可访问*.

*其他不能直接访问的情况是安全事件日志(log),例如,只能由操作系统访问.

我使用以下代码直接写入事件日志(log)应用程序:

using (EventLog eventLog = new EventLog("Application")) 
{
    eventLog.Source = "Application"; 
    eventLog.WriteEntry("Log message example", EventLogEntryType.Information, 101, 1); 
}

如您所见,事件日志(log)源与事件日志(log)的名称相同.原因可以在Event Sources @ Windows Dev Center中找到(我用粗体标出了源名称):

Eventlog键中的每个日志(log)都包含称为事件源的子键.事件源是记录事件的软件的名称.It is often the name of the application或应用程序的子组件的名称(如果应用程序较大).最多可以向注册表添加16384个事件源.

.net相关问答推荐

安装特定主要版本的DotNet SDK最新版本

Puppeteer LaunchAsync 在未打开浏览器的情况下挂起

IANA 到 Windows 时区映射

如何正确使用await using语法?

如何在 FtpWebRequest 之前判断 FTP 上是否存在文件

既然 .NET 有一个垃圾收集器,为什么我们需要终结器/析构器/dispose-pattern?

xunit Assert.ThrowsAsync() 不能正常工作?

如何获得友好的操作系统版本名称?

HttpClient 请求抛出 IOException

将 DataRowCollection 转换为 IEnumerable

添加新实体标量时实体框架 4 映射片段错误

如何在 .NET 中将字符串转换为字节数组?

Linq查询分组并 Select 第一个项目

为什么使用 ImmutableList 而不是 ReadOnlyCollection?

ILookup 接口与 IDictionary

为什么发布和调试模式下的代码行为不同?

立即检测客户端与服务器套接字的断开连接

了解 C# 中的协变和逆变接口

为 webClient.DownloadFile() 设置超时

在 try/catch/finally 中等待的一个很好的解决方案?