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 , ...
随机推荐
- Java开发小技巧(四):配置文件敏感信息处理
前言 不知道在上一篇文章中你有没有发现,jdbc.properties中的数据库密码配置是这样写的: jdbc.password=5EF28C5A9A0CE86C2D231A526ED5B388 其实 ...
- memcached subList序列化问题
某个业务场景需要将list超过10个元素时截取前10个然后再丢memcached缓存,因此写了这么一行代码 if(list.size()>10){ list=list.subList(0, 10 ...
- ajax接受json响应(讲义)
l 什么是json? l Json和xml比较 l Ajax如何使用JSON l Ajax接收json响应案例 什么是json? JSON (JavaScript Object Notation) 是 ...
- 优化Webpack构建性能的几点建议
Webpack 作为目前最流行的前端构建工具之一,在 vue/react 等 Framework 的生态圈中都占据重要地位.在开发现代 Web 应用的过程中,Webpack 和我们的开发过程和发布过程 ...
- 自学Zabbix3.8-可视化Visualisation
随着大量数据流入Zabbix,如果用户能够查看正在发生的事情,而不仅仅是数字,那么对于用户来说,这就变得容易得多了.这就是图的所在. 图允许快速地掌握数据流,关联问题,发现什么时候开始,或者做什么事情 ...
- SpringBoot ( 七 ) :springboot + mybatis 多数据源最简解决方案
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解 ...
- 《程序设计语言——实践之路【PDF】下载
<程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...
- 56、jsのBOM对象与DOM对象
javascript的Bom和Dom对象使我们学习的重点,这篇随笔可以重点阅读 一.BOM对象 1.window对象 所有浏览器都支持 window 对象.概念上讲.一个html文档对应一个windo ...
- JDBC 程序实例小练习
JDBC 程序实例问题 编程实现如下功能:在数据库中建立一个表,表名为student,其结构为学号.姓名.性别.年龄.英语.JavaSE程序设计.初级日语.总分,在表中输入多条记录. 学生的总分信息, ...
- php多语言切换---转载
文件内容: /include/language.php <?php $languages = array (); $languages ['zh-cn'] ["name"] ...