最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#查看/寫入日志到Windows事件查看器的操作方法

 更新時間:2024年09月04日 10:04:44   作者:△曉風(fēng)殘月〆  
Windows 操作系統(tǒng)將與計算機(jī)的系統(tǒng)性能、應(yīng)用程序和安全方面相關(guān)的每個事件記錄在 C:\WINDOWS\system32\winevt 的日志中,事件查看器從這些原始事件日志中讀取信息,然后以可讀格式呈現(xiàn)信息,本文介紹了C#如何查看/寫入日志到Windows事件查看器,需要的朋友可以參考下

Windows事件日志

Windows 操作系統(tǒng)將與計算機(jī)的系統(tǒng)性能、應(yīng)用程序和安全方面相關(guān)的每個事件記錄在 C:\WINDOWS\system32\winevt 的日志中。

事件查看器從這些原始事件日志中讀取信息,然后以可讀格式呈現(xiàn)信息。

打開Windows事件查看器的方法是

1、運行輸入eventvwr

2、Windows+X打開的超級菜單中選擇事件查看器。

3、桌面計算機(jī)圖標(biāo)右鍵選擇【管理】,在計算機(jī)管理中打開【事件查看器】

事件查看器打開后顯示如下:

有三個默認(rèn)事件日志:應(yīng)用程序、系統(tǒng)和安全。 安全日志(只讀的)。

注意:事件是跟注冊表關(guān)聯(lián)起來的,所以推薦以管理員權(quán)限運行,否則有些類別下的日志無法讀取/寫入/刪除。

像平常我們開發(fā)的程序如果想更方便的查找錯誤,除了本地日志外,還可以將日志寫入到Windows事件日志中的【應(yīng)用程序和服務(wù)日志】類別下,可以方便我們快速查找問題。

EventLog類

在C#中操作Windows事件日志主要使用EventLog類,EventLog類內(nèi)部使用了ReadEventLogW/ReportEventW等win32 api函數(shù)。

.Net Framework中,直接使用System.Diagnostics.EventLog類即可,

.NET Core項目中,需要引用System.Diagnostics.EventLog

EventLog類提供了實例化版本的方法和靜態(tài)方法兩種,類似FileInfo和FIle類。

本文以EventLog類的靜態(tài)方法進(jìn)行演示。

獲取日志名字

 //獲取所有事件日志
  var logs = EventLog.GetEventLogs();
 
  foreach (var item in logs)
  {
      //輸出事件日志的名字(顯示名字[日志名字])
      //日志名字是用于讀取/寫入時的名字
      Console.WriteLine(item.LogDisplayName + $"[{item.Log}]");
  }

運行輸出如下

獲取日志下的單個記錄

這里我們以Visual Studio日志為例,輸出Visual Studio日志下的所有記錄。

   static void Main(string[] args)
    {
        PrintLogClass();
  
        PrintLogEntry("Visual Studio");
    }
  
    static void PrintLogEntry(string logName)
    {
       //獲取所有事件日志
       var logs = EventLog.GetEventLogs();
 
       foreach (var item in logs)
       {
           if(item.LogDisplayName == logName)
           {
               foreach (EventLogEntry entry in item.Entries)
               {
                   Console.WriteLine($"級別:{entry.EntryType}");
                   Console.WriteLine($"創(chuàng)建時間:{entry.TimeGenerated}");
                   Console.WriteLine($"來源:{entry.Source}");
                   Console.WriteLine($"事件ID:{entry.InstanceId}");
                   Console.WriteLine($"日志內(nèi)容:{entry.Message}");
                   Console.WriteLine();
               }
           }
       }
   }

運行結(jié)果如下:

創(chuàng)建日志

寫入記錄到系統(tǒng)日志下

這里以【應(yīng)用程序】日志為例,操作如下:

 //需要先注冊一個來源,跟日志綁定
 if(!EventLog.SourceExists("MyApplicationLogSource"))
 {
     EventLog.CreateEventSource("MyApplicationLogSource", "Application");
 }
 
 EventLog.WriteEntry("MyApplicationLogSource", "測試日志內(nèi)容",EventLogEntryType.Warning,100010);

運行后到事件查看器查看寫入的日志

寫入記錄到自定義日志類別下

  //創(chuàng)建來源并跟日志(MyLog)綁定
  if (!EventLog.SourceExists("MySource"))
  {
      EventLog.CreateEventSource("MySource", "MyLog");
  }
 
  //寫入記錄到MyLog下
  EventLog.WriteEntry("MySource", "你可以指定日志內(nèi)容", EventLogEntryType.Warning, 10010);   

運行后,可以看到增加了一個MyLog日志,并增加了一條類型為警告的記錄

清除日志下的所有記錄

  //獲取所有事件日志
  var logs = EventLog.GetEventLogs();
 
  foreach (var item in logs)
  {
      if (item.LogDisplayName == logName)
      {
          //清除所有記錄
          item.Clear();
          break;
      }
  }

刪除日志

 //刪除日志來源
 EventLog.DeleteEventSource("MySource");
 //刪除日志
 EventLog.Delete("MyLog");

以上就是C#查看/寫入日志到Windows事件查看器的操作方法的詳細(xì)內(nèi)容,更多關(guān)于C#查看/寫入日志到Windows的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#服務(wù)端圖片打包下載實現(xiàn)代碼解析

    C#服務(wù)端圖片打包下載實現(xiàn)代碼解析

    這篇文章主要介紹了C#服務(wù)端圖片打包下載實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • C#枚舉類型與位域枚舉Enum

    C#枚舉類型與位域枚舉Enum

    這篇文章介紹了C#中的枚舉類型與位域枚舉Enum,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#中跨線程訪問控件問題解決方案分享

    C#中跨線程訪問控件問題解決方案分享

    這篇文章主要介紹了C#中跨線程訪問控件問題解決方案,有需要的朋友可以參考一下
    2013-11-11
  • C#文件上傳的簡單實現(xiàn)

    C#文件上傳的簡單實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了C#文件上傳的簡單實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Unity?UGUI的PhysicsRaycaster物理射線檢測組件介紹使用

    Unity?UGUI的PhysicsRaycaster物理射線檢測組件介紹使用

    這篇文章主要介紹了Unity?UGUI的PhysicsRaycaster物理射線檢測組件的介紹及使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • C#中的引用類型以及特殊引用類型詳解

    C#中的引用類型以及特殊引用類型詳解

    本文詳細(xì)講解了C#中的引用類型以及特殊引用類型,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#實現(xiàn)學(xué)生成績管理系統(tǒng)

    C#實現(xiàn)學(xué)生成績管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C#微信開發(fā)之獲取接口調(diào)用憑據(jù)

    C#微信開發(fā)之獲取接口調(diào)用憑據(jù)

    本文主要介紹了C#微信開發(fā)之接收 / 返回文本消息原理與實現(xiàn)方法,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#實現(xiàn)XOR密碼(異或密碼)的示例代碼

    C#實現(xiàn)XOR密碼(異或密碼)的示例代碼

    XOR密碼(異或密碼)是一種簡單的加密算法,它使用異或(XOR)操作來對明文和密鑰進(jìn)行加密和解密,本文為大家介紹了C#實現(xiàn)XOR密碼的相關(guān)知識,希望對大家有所幫助
    2024-01-01
  • C#通過chrome插件將HTML網(wǎng)頁轉(zhuǎn)換為PDF

    C#通過chrome插件將HTML網(wǎng)頁轉(zhuǎn)換為PDF

    這篇文章主要介紹了C#通過chrome插件將HTML網(wǎng)頁轉(zhuǎn)換為PDF,將HTML網(wǎng)頁內(nèi)容轉(zhuǎn)換為 PDF 格式能方便文檔的后續(xù)打印、存檔和分享等,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2025-03-03

最新評論

万全县| 阿城市| 舒城县| 定结县| 应用必备| 海宁市| 韩城市| 灯塔市| 沾益县| 贺兰县| 巴中市| 崇州市| 嘉义市| 新干县| 石楼县| 莱西市| 疏附县| 陈巴尔虎旗| 肥西县| 谢通门县| 榆树市| 抚州市| 垦利县| 赫章县| 鸡泽县| 达尔| 阿坝县| 平山县| 禹州市| 辽宁省| 仙居县| 额敏县| 陇川县| 宁阳县| 固始县| 沛县| 静宁县| 荔浦县| 朔州市| 福泉市| 大田县|