系统日志可以帮助我们分析操作系统的安全与否,也可以帮助我们将一些不好调试的信息显示出来。
C#操作系统日志主要是通过EventLog类来实现的。
一 图解
打开事件查看器,其中与EventLog类对应的元素可以在下图
二 写日志
设置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); } } }
读取系统日志的记录以后可以通过自定义的规则进行日志分析。
四 附加
日志文件在计算机攻防中是很重要的一部分,可以通过修改日志文件的默认目录,修改日志文件的操作权限来防止日志文件的清除行为。