2011-12-07 28 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