2011-12-07 25 views

回答

1

我在开始菜单中搜索“运行”,打开它,在我编写“regedit”的文本字段中按下“OK”。

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

然后,只需在代码中写:logName.Source = "MySource";

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

祝你好运!

0

您可以配置编程的EventLogTraceListener跟踪监听器:

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

或使用应用程序/ 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.NET应用程序)下运行时。

+0

我试了一下,我得到的错误:'没有找到源,但一些或所有事件日志无法搜索。要创建源代码,您需要具有读取所有事件日志的权限,以确保新的源名称是唯一的。无法访问的日志:安全性.' – ParPar

+0

@ParPar,您需要首先以管理员身份创建自定义源。如果您正在本地运行,则可以首次以管理员身份启动Visual Studio,以创建必要的源代码。但在实时服务器上,您将不得不配置自定义源。 –

+0

我用这个来定义源代码:'log.Source =“.NET Runtime”;' – ParPar