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

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);
}
}
}

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

四 附加

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

C#操作系统日志的更多相关文章

  1. Windows2008R2操作系统日志清理

    Windows日志路径 c:/windows/system32/winevt/logs

  2. 轻松背后的N+疲惫——系统日志

    相信很多coder都有这样的癖好:“自恋”!!对自己编写的code总是那么的自信,自豪,Always believe it to be so perfect!! 不喜欢做单元测试(总觉得它就那样了能出 ...

  3. oracle 10g操作和维护手册

    1.    检查数据库基本状况... 1.1.     检查Oracle实例状态... 1.2.     检查Oracle服务进程... 1.3.     检查Oracle监听状态... 2.    ...

  4. MongoDB基础

    1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ...

  5. Java程序日志:java.util.logging.Logger类

    一.Logger 的级别 比log4j的级别详细,全部定义在java.util.logging.Level里面.各级别按降序排列如下:SEVERE(最高值)WARNINGINFOCONFIGFINEF ...

  6. 慎重管理SQL Server服务的登录(启动)账户和密码

    今天是大年初三,先跟大家拜个年,祝大家新年快乐.今天处理了一个alwaysOn问题——辅助副本因为磁盘空间不足一直显示[未同步——可疑],在日志中可以看到数据库处于挂起状态,与主副本失去同步.原以为只 ...

  7. Oracle_12c_RAC_service_died问题分析处理

    接上篇,通过分析listener日志发现rac1数据库无法连接时出现了listener_20160628.log:28-JUN-2016 07:55:47 * service_died * LsnrA ...

  8. HBase工程师线上工作经验总结----HBase常见问题及分析

    阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...

  9. 每天checklist所用到的T-CODE

    1.1重点检查 作业 事务码 检查过程 检查R/3系统是否已经启动 · 登录到R/3系统 检查每日备份是否正常 DB12-Backup Logs:Overview · 检查数据库备份 · 检查数据库备 ...

随机推荐

  1. matplotlib作图中文显示问题

    def set_ch(): from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcPa ...

  2. iOS开发,让数据更安全的几个加密方式

    任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要.在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障.这篇 ...

  3. iOS---》点击uitableview 的section展开或隐藏

    #import <UIKit/UIKit.h> @interface TestCell : UITableViewCell @property (weak, nonatomic) IBOu ...

  4. MySQL(23):事务的隔离级别出现问题之 脏读

    1. 脏读 所谓的脏读就是指一个事务读取了另一个事务未提取的数据. 试想一下:a账户要给b账户100元购买商品,如果a账户开启一个事务,执行下面的update语句做了如下转账的工作: update a ...

  5. cat命令的作用

    1.显示文件内容,如more的功能. 使用方法: cat  filename. 注:cat,无论文件多长,一次性全部显示:more,一次只显示一个屏幕高度的内容. 2.创建文件,如touch功能. 使 ...

  6. ios优化复制大文件时,如何使内存运用最少且效率最高

    我也是纠结了好几天,我想自己想个办法,但是数据复制不上去,我现在还不明白,如果有人知道我错在哪了,请留言,如果还有更好的方法,请分享共同进步. ____________________________ ...

  7. Unity3d之Shader编程:子着色器、通道与标签的写法 & 纹理混合

    一.子着色器 Unity中的每一个着色器都包含一个subshader的列表,当Unity需要显示一个网格时,它能发现使用的着色器,并提取第一个能运行在当前用户的显示卡上的子着色器. 我们知道,子着色器 ...

  8. jQuery:节点(插入,复制,替换,删除)操作

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. MYSQL关于表的一些操作

    mysqldump -u username -p dbname > dbname.sql 清空表数据 delete from xxxx; 插入一条数据 insert into tablename ...

  10. oracle查看允许的最大连接数和当前连接数等信息

    目前总结的语句,在查看数据的连接情况很有用 ,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来. 1.Sql代码1.select count(*) from v$p ...