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

使用C#實(shí)現(xiàn)寫入系統(tǒng)日志

 更新時(shí)間:2018年01月14日 08:59:36   作者:林德熙  
本文給大家分享的是作者使用使用C#實(shí)現(xiàn)將軟件日志寫入系統(tǒng)日志中的方法,十分巧妙,有需要的小伙伴可以參考下

因?yàn)槲也幌胧褂米约簩懳募?,我的軟件是綠色的,所以把日志寫到 Windows 日志。

首先告訴大家什么是系統(tǒng)日志,請(qǐng)看下面

如果需要寫日志,需要管理員權(quán)限,如果沒(méi)有權(quán)限會(huì)出現(xiàn)下面異常

System.Security.SecurityException:“未找到源,但未能搜索某些或全部事件日志。 不可訪問(wèn)的日志: Security

需要判斷當(dāng)前是否已經(jīng)存在日志,下面我來(lái)創(chuàng)建一個(gè)事件叫 “德熙”

if (EventLog.SourceExists("德熙"))
  {
  EventLog.CreateEventSource("德熙", "Application");
  }

這里的 Application 就是寫到哪個(gè),一般都是選 Application ,可以從圖片看到系統(tǒng)的有應(yīng)用程序、安全、Setup、系統(tǒng)幾個(gè)日志,程序一般都是寫到程序

寫日志

寫日志就不用管理權(quán)限

寫入可以使用 WriteEntry ,需要傳入寫入的日志和內(nèi)容

EventLog.WriteEntry("德熙", "有個(gè)不愿告訴你名稱的程序在這里寫字符串");

這個(gè)方法還有幾個(gè)重載,可以傳入日志類型,是成功、失敗還是其他。還可以傳入 id ,通過(guò)id 可以找到為什么需要寫日志,不過(guò)需要在自己定義,還可以添加附件,于是我就不需要自己寫文件日志。

 

另外給大家附上一個(gè)完整例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace ConsoleApp
{
 /// <summary>
 /// 系統(tǒng)日志
 /// </summary>
 public class PackSystemEventLog
 {
  /// <summary>
  /// 錯(cuò)誤信息
  /// </summary>
  private static string ErrorInfo { get; set; }
  /// <summary>
  /// 創(chuàng)建系統(tǒng)事件日志分類
  /// </summary>
  /// <param name="eventSourceName">注冊(cè)事件源(比如說(shuō)這個(gè)日志來(lái)源于某一個(gè)應(yīng)用程序)</param>
  /// <param name="logName">日志名稱(事件列表顯示的名稱)</param>
  /// <returns></returns>
  public static bool CreateSystemEventLogCategory(string eventSourceName, string logName)
  {
   bool createResult = false;
   try
   {
    if (!EventLog.SourceExists(eventSourceName))
    {
     EventLog.CreateEventSource(eventSourceName, logName);
    }
    createResult = true;
   }
   catch (Exception ex)
   {
    createResult = false;
    ErrorInfo = ex.Message;
   }
   return createResult;
  }
  /// <summary>
  /// 刪除系統(tǒng)事件日志分類
  /// </summary>
  /// <param name="eventSource">EventName事件源</param>
  /// <returns></returns>
  public static bool RemoveSystemEventSourceCategory(string eventSource)
  {
   bool createResult = false;
   try
   {
    if (EventLog.SourceExists(eventSource))
    {
     EventLog.DeleteEventSource(eventSource, ".");
    }
    createResult = true;
   }
   catch (Exception ex)
   {
    createResult = false;
    ErrorInfo = ex.Message;
   }
   return createResult;
  }
  /// <summary>
  /// 向系統(tǒng)日志中寫入日志
  /// </summary>
  /// <param name="eventSource">事件源</param>
  /// <param name="msg">寫入日志信息</param>
  /// <param name="type">日志文本分類(警告、信息、錯(cuò)誤)</param>
  /// <returns></returns>
  public static bool WriteSystemEventLog(string eventSource, string msg, EventLogEntryType type)
  {
   bool writeResult = false;
   try
   {
    if (!EventLog.SourceExists(eventSource))
    {
     writeResult = false;
     ErrorInfo = "日志分類不存在!";     
    }
    else
    {
     EventLog.WriteEntry(eventSource, msg, type);
     writeResult = true;
    }
   }
   catch (Exception ex)
   {
    writeResult = false;
    ErrorInfo = ex.Message;
   }
   return writeResult;
  }
  /// <summary>
  /// 刪除事件源中l(wèi)ogName(好像刪除了所有的該分類的日志)
  /// </summary>
  /// <param name="eventSource"></param>
  /// <param name="logName"></param>
  /// <returns></returns>
  public static bool RemoveSystemEventLog(string eventSource, string logName)
  {
   bool removeResult = false;
   try
   {
    if (!EventLog.SourceExists(eventSource))
    {
     removeResult = false;
     ErrorInfo = "日志分類不存在!";
    }
    else
    {
     EventLog.Delete(logName);
     removeResult = true;
    }
   }
   catch (Exception ex)
   {
    removeResult = false;
    ErrorInfo = ex.Message;
   }
   return removeResult;
  }
  /// <summary>
  /// 獲取錯(cuò)誤信息
  /// </summary>
  /// <returns></returns>
  public static string GetErrorMessage()
  {
   return ErrorInfo;
  }
 }
}

相關(guān)文章

最新評(píng)論

永新县| 内江市| 许昌县| 金昌市| 昌邑市| 册亨县| 浦县| 北辰区| 永安市| 乐山市| 奉化市| 漳平市| 南阳市| 清新县| 佛学| 建平县| 长泰县| 安图县| 五莲县| 阿拉善左旗| 新河县| 左权县| 旬邑县| 开阳县| 绩溪县| 临泽县| 吴旗县| 东丽区| 万宁市| 南川市| 襄汾县| 盈江县| 荆门市| 三门县| 石泉县| 萍乡市| 石家庄市| 九寨沟县| 镇原县| 西乌珠穆沁旗| 台州市|