.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 获取负责该事件的用户的名称

示例代码:

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

  显示效果:

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

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. greenplum在执行vacuum和insert产生死锁问题定位及解决方案

    首先声明:未经本人同意,请勿转载,谢谢! 本人使用自己编译的开源版本的greenplum数据库用于学习,版本为PostgreSQL 8.3.23 (Greenplum Database 4.3.99. ...

  2. Spring MVC新手教程(二)

    第一篇文章宏观讲了Spring MVC概念,以及分享了一个高速入门的样例. 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自己主动载入到内存中的信息, ...

  3. 家居环境监測系统设计(PC上位机版)(手机APP版待定)

    下面是我的毕业设计:家居环境监測系统设计(PC上位机临时版.手机app版待定).本系统採用STC12C5A60S2单片机.结合传感器.分别对空气湿度.空气温度.气压.海拔.进水温度.出水温度.光照强度 ...

  4. OSX: Scripts,让BootCamp在不论什么Mac上支持生成Windows7的USB安装盘

    为什么要做这个呢,由于BootCamp仅仅有在默认的Mac上才会有生成USB安装盘的选项.这个脚本就是为了确保用户使用它在不论什么一个Mac机器上都能够生成Windows的USB安装盘.当然了,假设你 ...

  5. flask 上传文件

    flask upload 近日在学习python,接触到了flask框架,刚好客户有个需求,需要在网页上传一个python 代码的zip包,然后使用docker 容器运行这个zip里面的程序,输出结果 ...

  6. (转)JVM工作原理和流程

    作为一名Java使用者,掌握JVM的体系结构也是必须的. 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言.Java类文件格式.Java ...

  7. angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传

    step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...

  8. Linux: curl

    [user@localhost ~]$ curl -h Usage: curl [options...] <url> Options: (H) means HTTP/HTTPS only, ...

  9. 小白的Python之路 day3 函数

    1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 ...

  10. 如何使用 stack?- 每天5分钟玩转 Docker 容器技术(112)

    定义好了 stack YAML 文件,就可以通过 docker stack deploy 命令部署应用. Docker 会按照 YAML 的内容来创建各种资源.为了不重名,所有资源都会加上 stack ...