C#操作系统日志

时间:2023-03-10 04:38:21
C#操作系统日志

系统日志可以帮助我们分析操作系统的安全与否,也可以帮助我们将一些不好调试的信息显示出来。

C#操作系统日志主要是通过EventLog类来实现的。

一 图解

打开事件查看器,其中与EventLog类对应的元素可以在下图

C#操作系统日志

二 写日志

设置EventLog的Log属性就可以将日志分到不同的类别中。

System.Diagnostics.EventLog eventLog = new System.Diagnostics.EventLog("LogName")或者

EventLog e = new EventLog();
     e.Log = "LogName";

这两个语句都可以在列表中添加一个名称为LogName的日志。

日志级别对应着EventLogEntryType枚举。

日志的源表示此条记录是从哪个地方来的,一般将日志的源设置成自己的程序名称就可以了。

EventLog.CreateEventSource("eventLogSource", "LogName");

上面的语句可以新建一个日志源,但是只有在真正插入日志记录之前,日志的源才会创建。

eventLog.WriteEntry("日志信息!",EventLogEntryType.Error);    可以插入一条日志记录,有几种重载,可以查看相应的帮助文档。

三 读日志

读日志记录主要是通过获取EventLog实例的Entries属性来实现的。

         string[] logTypes = new string[] { "Application", "Security", "System" };

            foreach (string t in logTypes)
{
EventLog e = new EventLog();
e.Log = t;
foreach (EventLogEntry l in e.Entries)
{
if (l.EntryType == EventLogEntryType.Error)
{
Console.WriteLine(l.Message);
}
}
}

    读取系统日志的记录以后可以通过自定义的规则进行日志分析。

四 附加

日志文件在计算机攻防中是很重要的一部分,可以通过修改日志文件的默认目录,修改日志文件的操作权限来防止日志文件的清除行为。