• <menu id="memm8"></menu>
    <nav id="memm8"><nav id="memm8"></nav></nav><nav id="memm8"></nav>
  • c#.NET中日志信息寫入Windows日志

    c#.NET中日志信息寫入Windows日志

    c#.NET中日志信息寫入Windows日志中解決...

    瘋狂代碼 http://www.wz-lab.com/ :http:/http://www.wz-lab.com/DotNet/Article31165.html 、 目的

    應用系統的開發和維護離不開日志系統,選擇一個功能強大的日志系統解決方案是應用系統開發過程中很重要的一部分。在.net環境下的日志系統解決方案有許多種,log4net是其中的佼佼者。

    在Windows2000及以上操作系統中,有一個Windows日志系統,它包括應用程序(Application)事件日志、系統(System)日志和安全(Security)日志,事件日志也可以是自定義日志。在.net Framework中也提供了相應的類和接口來使用應用程序事件日志或者自定義事件日志。使用Windows日志可以使應用系統與操作系統更好的結合,與單純使用自定義的日志系統相比,因為有了操作系統的支持,查詢和管理日志更方便。在實際應用中,根據實際情況,可以選擇一種合適的日志解決方案,也可以自定義日志系統和Windows日志系統兩種日志解決方案同時使用。

    2、 使用Windows日志的方法

    2.1、方法概述

    在.net Framework中提供了一個類EventLog,使用EventLog類可以添加新的事件日志條目或從服務器事件日志中獲取已有的條目。EventLog類包括一個WriteEntry()方法,可以用它來把一個新的事件寫入到事件日志中。在寫入一個新的條目到事件日志時,是使用特定的事件源(event source)來把條目寫入到特定的事件日志中。

    事件源對于事件日志而言是唯一的。在Windows2000及以上操作系統中,包括一個事件日志:應用程序(Application)事件日志,還有系統(System)日志和安全(Security)日志,并且系統允許自定義事件日志。使用EventLog類,可以將日志條目添加到應用程序(Application)事件日志中,也可以添加到自定義事件日志中。事件源相當于事件日志的下一級目錄,每一條日志條目都必須對應一個事件源。EventLog類可以創建一個自定義事件日志,也可以創建一個事件源,事件源可以創建在應用程序(Application)事件日志中,也可以創建在自定義事件日志中。Windows日志系統如下圖所示:

    為了便于不同應用系統之間的日志區分和查看方便,一般將事件源創建在自定義事件日志中,可以創建多個事件日志,一個事件日志也可以創建多個事件源。

    2.2、事件日志和事件源創建方法

    創建一個新的事件日志或事件源時,其實是在對注冊表添加一個條目。由于寫注冊表要求特殊的權限,所以在Web項目中創建事件日志和事件源就存在權限和安全的問題,Application項目中不存在此問題,本文重點講述Web項目中Windows日志使用方法,Application項目中的使用方法類似于Web項目,拋棄掉Web項目中的權限和安全處理即可,本文不再贅述。

    在Web項目中,當使用http://www.wz-lab.com向系統中創建一個事件日志或者一個事件源時,可能會得到如下異常錯誤消息: System.Security.SecurityException: 不允許所請求的注冊表訪問權。這是因為運行http://www.wz-lab.com進程的默認帳戶是ASPNET(在IIS6.0下面是NetworkService),而此賬戶默認只有讀權限,沒有寫權限,所以不能創建事件日志或事件源。解決此問題的辦法有提升ASPNET帳戶的權限、不在程序內部創建事件日志或事件源等,主要有以下三種解決方案:

    c#.NET中日志信息寫入Windows日志相關文檔

    最新文檔

    返回頂部
    欧美牲交videossexeso
  • <menu id="memm8"></menu>
    <nav id="memm8"><nav id="memm8"></nav></nav><nav id="memm8"></nav>