欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

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

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊: 次

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

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

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

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

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

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

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

寫(xiě)日志

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

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

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

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

 

另外給大家附上一個(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)事件日志分類(lèi)
  /// </summary>
  /// <param name="eventSourceName">注冊(cè)事件源(比如說(shuō)這個(gè)日志來(lái)源于某一個(gè)應(yīng)用程序)</param>
  /// <param name="logName">日志名稱(chēng)(事件列表顯示的名稱(chēng))</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)事件日志分類(lèi)
  /// </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)日志中寫(xiě)入日志
  /// </summary>
  /// <param name="eventSource">事件源</param>
  /// <param name="msg">寫(xiě)入日志信息</param>
  /// <param name="type">日志文本分類(lèi)(警告、信息、錯(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 = "日志分類(lèi)不存在!";     
    }
    else
    {
     EventLog.WriteEntry(eventSource, msg, type);
     writeResult = true;
    }
   }
   catch (Exception ex)
   {
    writeResult = false;
    ErrorInfo = ex.Message;
   }
   return writeResult;
  }
  /// <summary>
  /// 刪除事件源中l(wèi)ogName(好像刪除了所有的該分類(lèi)的日志)
  /// </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 = "日志分類(lèi)不存在!";
    }
    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;
  }
 }
}

上一篇:C++通過(guò)Callback向C#傳遞數(shù)據(jù)的方法

欄    目:C#教程

下一篇:大家應(yīng)該掌握的多線(xiàn)程編程

本文標(biāo)題:使用C#實(shí)現(xiàn)寫(xiě)入系統(tǒng)日志

本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5294.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有