系統日志可以幫助我們分析操作系統的安全與否,也可以幫助我們將一些不好調試的信息顯示出來。
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); } } }
讀取系統日志的記錄以后可以通過自定義的規則進行日志分析。
四 附加
日志文件在計算機攻防中是很重要的一部分,可以通過修改日志文件的默認目錄,修改日志文件的操作權限來防止日志文件的清除行為。