.NET框架类库提供了EventLog类和EventLogEntry类与系统日志进行交互二者属于System.Diagnostics命名空间

EventLog

类的属性主要有

Entris返回一个EventLogEntryCollection型值,代表事件日志的内容Log 获取或者返回日志的名称,其中应用程序日志是Application,系统日志是System,安全日志是Security,默认值为空字符串.

LogDisplayName 获取事件日志的友好名称MachineName 获取或设置在其上读取或写入事件的计算机名称

Source 获取或设置在写入事件日志时要注册和使用的源名称

EventEntryCollection类定义EventLogEntry实例集合的大小和枚举数.

EventLogEntry类的一些主要属性如下:

Category 获取与该项的CategoryNumber对应的文本

CategoryNumber 获取该项的类别号

Data 获取与该项对应的二进制数据

EntryType 获取该项的事件类型,其值属于EventLogEntryType枚举,这个枚举的主要成员如下:

Error 错误事件,它指示用户应该知道的严重问题,比如功能或数据丢失

FailureAudit 失败审核事件,它指示当审核访问尝试失败,比如打开文件的尝试失败时发生的安全事件

Information 信息事件.它指示重要。成功的事件

SuccessAudit 成功审核事件.它指示当审核访问尝试成功,比如成功登录时发生的安全事件

Warning 警告事件.它指示并不立即具有重要性的问题,但此问题可能表示将来会导致问题的条件.

EventID 获取此事件项的应用程序特定事件标识符

Index 获取该项在事件日志中的索引

MachineName 获取在产生该项的计算机的名称

Message 获取与该事件的本地化消息

ReplacementStrings 获取对应该项替换字符串

Source 获取生成该事件的应用程序的名称

TimeGenerated 获取生成该事件的本地时间

TimeWritten 获取在日志写入该事件的本地时间

UserName 获取负责该事件的用户的名称

示例代码:

 static void Main(string[] args)
        {
            EventLog eventLog = new EventLog();
            eventLog.Log = "System";//日志的类型 有应用程序 系统 等等
            EventLogEntryCollection eventLogEntryCollection = eventLog.Entries;//获取事件日志的内容
            EventLogEntry entry = eventLogEntryCollection[eventLogEntryCollection.Count-1];
            string[] title = { entry.EntryType.ToString(),
                   entry.TimeGenerated.ToLongDateString(),
                   entry.TimeGenerated.ToLongTimeString(),
                   entry.Source, entry.Category,    
                   entry.EventID.ToString(),
                   entry.UserName, entry.MachineName }; for (int i =0; i <8; i++) { Console.WriteLine(title[i]); } for(int j=0;j <= eventLogEntryCollection.Count - 1; j++) { Console.WriteLine("\n" + eventLogEntryCollection[eventLogEntryCollection.Count-1].Message); } }

  显示效果:

因为是刚刚了解,可能有所错误,如有错误,欢迎指正

C# 读取系统日志的更多相关文章

  1. C#操作系统日志

    系统日志可以帮助我们分析操作系统的安全与否,也可以帮助我们将一些不好调试的信息显示出来. C#操作系统日志主要是通过EventLog类来实现的. 一 图解 打开事件查看器,其中与EventLog类对应 ...

  2. Android 权限列表

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,允许读写check-in数据库属性表的权限 ( Allows read/write acces ...

  3. Android笔记——permission权限大全

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  4. android权限大全

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  5. Flume采集处理日志文件

    Flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据 ...

  6. android 权限大全

    教程 博客 淘帖     论坛›eoe·Android开发资源区›Android开发实例教程 191507 12 / 2 页下一页 android 权限大全 『癲瘋霸気』 于 2013-4-3 10: ...

  7. Android配置文件,所有权限

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  8. Android Manifest 权限描述大全

    权限 名称 描述 android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permis ...

  9. AndroidManifest.xml权限大全

    本文转  https://my.oschina.net/duwaiweb/blog/75935 问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES , ...

随机推荐

  1. MyEclipse激活步骤

    1.前言:   MyEclipse 成功安装后使用天数仅仅有30天,打开软件后常常会弹出提醒我们在5天内要激活的对话框.没有激活的话,时间一到就不能使用了. 众所周知,中国的软件是不用花钱的,这里就介 ...

  2. openstack初始化Glance数据库时报错解决方式

    环境为win7+virtualbox 中的centos6.5 安装Glance 的包 yum install openstack-glance python-glanceclient -y 配置Gla ...

  3. Office 365 机器人(Bot)开发入门

    作者:陈希章 发表于 2017年7月29日 前言 作为人工智能技术的一个主要的表现形式,这些年机器人(bot)的应用越来越广泛.不管是有实物的,还是纯软件的,现在的机器人技术应该说已经走入寻常百姓家了 ...

  4. NIO相关基础篇三

    转载请注明原创出处,谢谢! 说在前面 上篇NIO相关基础篇二,主要介绍了文件锁.以及比较关键的Selector,本篇继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型.零拷贝等一些内容, ...

  5. BeautifulSoup 抓取网站url

    1 # -*- coding:utf-8 -*- 2 import urlparse 3 import urllib2 4 from bs4 import BeautifulSoup 5 6 url ...

  6. Not++规范格式(格式化)

    Notepad++功能比Windows中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码.Notepad++ 有语法高亮度显示和语法折叠功能,并且支 ...

  7. OpenCASCADE 公众号

    OpenCASCADE 公众号 eryar@163.com 今天也注册了一个微信公众号,以后会在微信公众号中发表OpenCASCADE学习文章,Blog会与微信公众号同步.下面是微信公众号二维码,欢迎 ...

  8. 用Azure AD 实现Web 应用身份认证的Multi-Factor Authentication(MFA)

    最近客户有个需求,希望把面向public的Web应用中的终端用户数据库由Azure AD来实现,同时希望可以用MFA来实现用户身份认证.这个想法非常好,通过使用Azure的managed servic ...

  9. 嵌套查询别名必须性示例。HAVING用法

    HAVING的一个重要作用: SELECT子句有统计函数嵌套时SELECT子句不能出现GROUP BY列,如果需要显示此列可以把嵌套的统计函数写成子查询放在HAVING子句中. 可用HAVING简化语 ...

  10. Python学习日记:day7-----集合

    1.基础数据类型汇总补充 1,list: 在循环一个列表是,最好不能删除列表中的元素. 2,bool 空列表.int:0.空str.空dict.空set--->bool:false 其余为tru ...