C#實(shí)現(xiàn)寫系統(tǒng)日志的方法
更新時(shí)間:2015年08月26日 11:17:00 作者:我心依舊
這篇文章主要介紹了C#實(shí)現(xiàn)寫系統(tǒng)日志的方法,涉及C#針對(duì)系統(tǒng)日志的創(chuàng)建、寫入及刪除等技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#實(shí)現(xiàn)寫系統(tǒng)日志的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
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è)事件源(比如說這個(gè)日志來源于某一個(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; } } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
NPOI實(shí)現(xiàn)兩級(jí)分組合并功能(示例講解)
下面小編就為大家分享一篇NPOI實(shí)現(xiàn)兩級(jí)分組合并功能的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12C# 反射與 Quartz 實(shí)現(xiàn)流程處理詳情
根據(jù)要實(shí)現(xiàn)流程處理,比如用戶可以定義一個(gè)定時(shí)任務(wù),每周一查看報(bào)表。任務(wù)是用Quartz可實(shí)現(xiàn),但用戶自己選擇報(bào)表就比較麻煩,這時(shí)因?yàn)橄到y(tǒng)的不同模塊的生成報(bào)表的函數(shù)不同,這時(shí)便可以傳入一個(gè)方法名和方法的輸入?yún)?shù),就可以調(diào)用該方法。下面小編我為大家介紹具體過程2021-09-09100行C#代碼實(shí)現(xiàn)經(jīng)典掃雷游戲
這篇文章主要為大家詳細(xì)介紹了如何用100行C#代碼實(shí)現(xiàn)經(jīng)典的掃雷游戲,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02