2013-05-14 36 views
0

我遇到了讓我的VB.NET應用點東西,而不是在事件日誌「應用程序」的問題......如何在「應用程序」以外的事件日誌上寫入日誌名稱?

我使用函數創建我的自定義事件日誌:EventLog.CreateEventSource("My_Source_Name", "My_Log_Name") ,其中第一PARM是源名稱,第二個參數是日誌名稱。這種方法每次創建事件日誌的源時都有效,但是當我要添加新條目時,我感到驚訝的是,對於某些來源,流程將日誌寫入我的自定義日誌下,但對於其他來源,日誌是寫在應用程序! (有些時候在頭上有錯誤)!!!!!

我需要知道,究竟發生了什麼?我(不知何故)遵循正確的方式?如果是,我需要添加哪些增強功能以​​使其看起來更好?我怎樣才能阻止這種情況再次發生,這樣我就可以將所有日誌記錄在我的自定義日誌名稱下?如果否,那麼這樣做的正確方法是什麼?還有沒有其他寫這段代碼的方法(即使新代碼是用於另一種解決方案而不是事件日誌)?

非常感謝你:)

回答

0

「在Windows Vista中創建一個事件源和更高版本或Windows Server 2003中,您必須具有管理權限。」

http://msdn.microsoft.com/en-us/library/5zbwd3s3.aspx

在另一方面,你應該有負責記錄的類(或接口)作爲應用程序的開發垂直層。該課程負責內部寫入適當的事件源。

但是,如果你需要強大的東西,我真的推薦Log4Net。

http://logging.apache.org/log4net/

+0

雖然這是一個有點晚,但謝謝你的答案:)我查了一下,如果我們在工作中使用的用戶是管理員或具有管理員權限,是的,它有管理員的權限。另外,我在msdn上找到了你的鏈接,並從中得到了一個關於如何檢查事件源是否在我的日誌名下的想法,並且我執行了該解決方案,並且從我的日誌名中獲得了一些,所以我把他們退回來了,但奇怪的是:他們仍然在申請中!那麼,任何想法爲什麼?以及如何解決它? –

+0

還有一件事,關於Log4Net,不幸的是,我們不能使用任何非微軟程序,因爲我們正在與微軟達成合同。此外,每次我們必須設置我們的解決方案時,我們必須在我們正在安裝我們的應用程序的機器上安裝Log4Net,這與已經內置的事件日誌的情況不同。因此對我們來說,工作....對不起:( –

相關問題