最近透過 NLog 將日誌寫入到 Windows 事件 (Windows Event),但部屬到不同伺服器時卻發生了一些問題,出現下列錯誤訊息:



找不到來自來源 Application 之事件識別碼 0 的描述。本機電腦可能並未安裝引發此事件的元件,或安裝已損毀。您可以在本機電腦上安裝或修復該元件。
如果事件源自其他電腦,則儲存它們時必須一併儲存顯示資訊。
訊息資源已存在,但在訊息表格中找不到訊息。

下列資訊已隨附於該事件: 

Unable to log .NET application events. The source was not found, but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: State.


用我自己方式來理解,應該是系統找不到事件來源,而可能因為權限或某種原因導致無法建立事件。期解決方法有幾種:

1. 透過 Administrator 執行 (Execute with Administrator):若你的應用程式是 可執行檔 或 開發工具 (如:Visual Studio),你可以透過管理者權限執行,即可解決這問題




2. 透過 PowerShell 執行:若你的應用程式不方便用管理者權限執行 (如: IIS),你可以透過下列 PowerShell owerShell 語法先產生一個事件來源,即可以解決問題





附註:你也可以透過下列語法,新增一個事件日誌