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è)事件源(比如說(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;
}
}
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于C#10 新特性 Lambda 優(yōu)化
這篇文章主要介紹了C# 10 新特性 Lambda 優(yōu)化,C# 10 對(duì)于 Lambda 做了很多的優(yōu)化,我們可以在 C# 中更加方便地使用委托和 Lambda 了,下面就來(lái)看一些示例,需要的朋友也可以參考一下2021-11-11
c#通過(guò)app.manifest使程序以管理員身份運(yùn)行
通常我們使用c#編寫的程序不會(huì)彈出這個(gè)提示,也就無(wú)法以管理員身分運(yùn)行。微軟的操作系統(tǒng)使用微軟的產(chǎn)品方法當(dāng)然是有的,通過(guò)app.manifest配置可以使程序打開的時(shí)候,彈出UAC提示需要得到允許才可以繼續(xù),這樣就獲得了管理員的權(quán)限來(lái)執(zhí)行程序2015-01-01
C#基礎(chǔ)之Lambda表達(dá)式用法實(shí)例教程
這篇文章主要介紹了C#中Lambda表達(dá)式用法,并與之前所述的匿名方法做一比較,詳細(xì)的講述了Lambda表達(dá)式的定義及具體用法,需要的朋友可以參考下2014-09-09
C#實(shí)現(xiàn)將音頻PCM數(shù)據(jù)封裝成wav文件
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)將音頻PCM數(shù)據(jù)封裝成wav文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-10-10

