在事件查看器(EventLog)的源列中自定义文本

本文关键字:文本 自定义 EventLog 事件 | 更新日期: 2023-09-27 18:17:18

是否可以在事件查看器中将我想要的源写入源列?

(代替"。. NET Runtime" ?)

如果有,怎么做?

在事件查看器(EventLog)的源列中自定义文本

我在开始菜单中搜索"run",打开它,在文本框中输入"regedit"并按"OK"。

现在,我进入"eventlog"文件夹,右键单击"Application"文件夹,选择"New => Key",然后将其命名为我的项目名称(实际上将在事件查看器的Source列中显示)。

然后简单地写入代码:logName.Source = "MySource";

现在它将只在本地主机上工作。如果你想让它也在服务器中工作-只需在服务器中再次打开"运行",就像你第一次做的那样,但现在它不会直接打开我们需要的东西,所以你必须跟踪包含"应用程序"文件夹的相同文件夹(你会发现它完全在相同的位置,就像在本地计算机中一样),并以相同的方式添加你的源代码。

祝你好运

您可以通过编程方式配置EventLogTraceListener跟踪侦听器:

var tl = new EventLogTraceListener("MyEventLogSource");
Trace.Listeners.Add(tl);

或使用app/web.config:

<system.diagnostics>
    <trace autoflush="true">
        <listeners>
            <add 
                name="EventLogger" 
                type="System.Diagnostics.EventLogTraceListener" 
                initializeData="MyEventLogSource" />
        </listeners>
    </trace>
</system.diagnostics>

,然后当您跟踪某些内容时,它将使用配置的跟踪侦听器:

Trace.TraceInformation("some info");

请记住,您需要特殊权限才能创建自定义跟踪侦听器。如果自定义源在EventLog中不存在,前面的代码将尝试创建它,如果它没有足够的权限就会失败。因此,一种可能性是在部署应用程序时以管理员身份创建跟踪侦听器,特别是如果该应用程序在一些低权限帐户(如ASP)下运行时。网络应用程序。