.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. BigInteger详解

    在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,理论上能够表示无线大的数,只要计算机内存足够大. 这两个类都在 java.math.* 包中,因此每次必须在 ...

  2. 在websphere上部署集群应用程序-工作记录

    1) 创建web集群.client集群,添加集群托管节点,根据需求来,我的需求是两个应用部署到4个服务器上,属于1主3备模式 2) 创建webspere变量:选择你需要的集群作用域,新建资源   (作 ...

  3. JAVA随笔篇一(Timer源代码分析和scheduleAtFixedRate的使用)

    写完了基础篇,想了非常久要不要去写进阶篇.去写JSP等等的用法.最后决定先不去写.由于自己并非JAVA方面的大牛.眼下也在边做边学,所以决定先将自己不懂的拿出来学并记下来. Timer是Java自带的 ...

  4. java多线程编程核心技术——第七章补漏拾遗

    本章主要知识点: 1)线程组的使用 2)如何切换线程状态 3)SimpleDateFormat类与多线程的解决方法 4)如何处理线程异常. 这本书基本来到了终点,其实在第四章来说,核心(基础)的线程知 ...

  5. 机器学习笔记2 – sklearn之iris数据集

    前言 本篇我会使用scikit-learn这个开源机器学习库来对iris数据集进行分类练习. 我将分别使用两种不同的scikit-learn内置算法--Decision Tree(决策树)和kNN(邻 ...

  6. 自学Zabbix3.6.2-触发器triggers severity严重程度

    触发器严重性定义了触发器的重要性. 1. zabbix支持以下触发级别: SEVERITY DEFINITION 颜色 Not classified 未知. 灰色 Information 一般信息. ...

  7. Ubuntu 下 libgps 库的使用

    简介 一般 GPS 接收器会遵循美国国家海洋电子协会(National Marine Electronics Association)所指定的标准规格,其中包含传输资料的格式以及传输资料的通讯协议.那 ...

  8. mysql新建数据库,并设置charset为utf8,使用utf8_general_ci字符集校验结果

    一. 实现功能 有时候在linux服务器端, 会在mysql命令行中, 创建数据库, 今天讲一下怎么在创建数据库时, 把charset设置为utf8,collate设置为utf8_general_ci ...

  9. IEEE1588 verision2 报文介绍

    PTP报文 PTP verision2报文是由 报头,主体 和 报尾 (header, body, and suffix)组成,报尾长度可能为0. PTP verision2报文在verision1的 ...

  10. iOS Xcode及模拟器SDK下载

    原文: Xcode及模拟器SDK下载 如果你嫌在 App Store 下载 Xcode 太慢,你也可以选择从网络上下载: Xcode下载(Beta版打的包是不能提交到App Store上的) 绝对官方 ...