C# 读取系统日志
.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# 读取系统日志的更多相关文章
- C#操作系统日志
系统日志可以帮助我们分析操作系统的安全与否,也可以帮助我们将一些不好调试的信息显示出来. C#操作系统日志主要是通过EventLog类来实现的. 一 图解 打开事件查看器,其中与EventLog类对应 ...
- Android 权限列表
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,允许读写check-in数据库属性表的权限 ( Allows read/write acces ...
- Android笔记——permission权限大全
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- android权限大全
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- Flume采集处理日志文件
Flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据 ...
- android 权限大全
教程 博客 淘帖 论坛›eoe·Android开发资源区›Android开发实例教程 191507 12 / 2 页下一页 android 权限大全 『癲瘋霸気』 于 2013-4-3 10: ...
- Android配置文件,所有权限
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- Android Manifest 权限描述大全
权限 名称 描述 android.permission.ACCESS_CHECKIN_PROPERTIES 访问登记属性 读取或写入登记check-in数据库属性表的权限 android.permis ...
- AndroidManifest.xml权限大全
本文转 https://my.oschina.net/duwaiweb/blog/75935 问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES , ...
随机推荐
- Oracle中用户(User)和模式(Schema)的概念
数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...
- Linux已经全然统治了这个世界:反对开源社区愚不可及
原文来自:http://readwrite.jp/archives/9977 不管一个企业多强大,它都不存在和开源社区抗衡的实力 十年前.Unix占有最快的计算机世界排名前10位的五席,以及超级计算机 ...
- 简单了解Markdown
在Github的readme.md文件的编辑中,開始渐渐的接触Markdown.如今简单系统叙述一下Markdown的语法. Markdown是一种能够使用普通文本编辑器编写的标记语言.通过类似HTM ...
- 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
关键词:蓝牙核心技术协议 irDA BNEP AVDTP AVCTP 作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢! )欢迎指正错误,共同学习.共同进步!! 下载链接:Bl ...
- inline-block解决
一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距 二.方法之移除空格 元素间留白间距出现的原因就是标签段之间的空格,因此,去掉HTML中的空格,自 ...
- 页面的新开页,window.open的hacker
一.window.open如何进行hack 网上看的办法很多,归根接地还是不能解决掉,只有通过a标签的target属性 $obj.click(function(){ var newTab=windo ...
- TCP/IP、HTTP、HTTPS、HTTP2.0
TCP/IP.HTTP.HTTPS.HTTP2.0 HTTP,全称超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端请求和应答的标准(TCP), ...
- Java Restful Web Service 学习指南
Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...
- MVC+EF 入门教程(三)
一.前言 上一节,我们将了生成数据库,那么这张我就将操作设计库. 二.在 Aplication 定义服务 在 Application 中添加文件夹(Blog)和 操作类(BlogServer).实例如 ...
- 【python】lambda创建匿名函数