1、使用EventLog组件读写事件日志

SourceExists方法  确定事件源是否已在本地计算机上注册

DeleteEventSource方法  用于从事件日志中移除应用程序的事件源注册

        private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
if (eventLog1.Entries.Count > )
{
foreach (System.Diagnostics.EventLogEntry entry
in eventLog1.Entries)
{
listBox1.Items.Add(entry.Message);
}
}
else
{
MessageBox.Show("日志中没有记录.");
}
} private void Frm_Main_Load(object sender, EventArgs e)
{
if (System.Diagnostics.EventLog.SourceExists("ZhyScoure"))//判断是否存在事件源
{
System.Diagnostics.EventLog.DeleteEventSource("ZhyScoure");//删除事件源注册
}
System.Diagnostics.EventLog.//创建日志信息
CreateEventSource("ZhyScoure", "NewLog1");
eventLog1.Log = "NewLog1";//设置日志名称
eventLog1.Source = "ZhyScoure";//事件源名称
this.eventLog1.MachineName = ".";//表示本机
} private void btn_Write_Click(object sender, EventArgs e)
{
if (System.Diagnostics.EventLog.Exists("NewLog1"))//判断日志是否存在
{
if (textBox1.Text != "")//如果文本框为空
{
eventLog1.WriteEntry(textBox1.Text.ToString());//写入日志
MessageBox.Show("日志写成功");//弹出消息对话框
textBox1.Text = "";//清空文本框信息
}
else
{
MessageBox.Show("日志内容不能为空");//弹出消息对话框
}
}
else
{
MessageBox.Show("日志不存在");//弹出消息对话框
}
}

保存Windows系统日志

        private void Frm_Main_Load(object sender, EventArgs e)
{
if (System.Diagnostics.EventLog.SourceExists("ErrEventLog"))//判断是否存在事件源
{
System.Diagnostics.EventLog.DeleteEventSource("ErrEventLog");//删除事件源注册
}
System.Diagnostics.EventLog.//创建日志信息
CreateEventSource("ErrEventLog", "Application");
eventLog2.Log = "Application";//设置日志名称
eventLog2.Source = "ErrEventLog";//事件源名称
this.eventLog1.MachineName = ".";//表示本机
}
private void btn_Find_Click(object sender, EventArgs e)
{
if (eventLog1.Entries.Count > )//判断是否存在系统日志
{
foreach (System.Diagnostics.EventLogEntry//遍历日志信息
entry in eventLog1.Entries)
{
if (entry.EntryType ==//判断是否为错误日志
System.Diagnostics.EventLogEntryType.Error)
{
listBox1.Items.Add(entry.Message);//向控件中添加数据项
eventLog2.WriteEntry(entry.Message,//写入日志信息
System.Diagnostics.EventLogEntryType.Error);
}
}
}
else
{
MessageBox.Show("系统没有错误日志.");//弹出消息对话框
}
}

向本机现有日志中添加条目

        private void Frm_Main_Load(object sender, EventArgs e)
{
if (eventLog1.Entries.Count > )
{
foreach (System.Diagnostics.EventLogEntry//遍历所有日志
entry in eventLog1.Entries)
{
if (comboBox1.Items.Count == )//判断是否为第一个日志
{
comboBox1.Items.Add(//添加日志信息
entry.Source.ToString());
}
else
{
if (!comboBox1.Items.Contains(//判断产生日志信息的应用程序是否重复
entry.Source.ToString()))
{
comboBox1.Items.Add(//添加日志信息
entry.Source.ToString());
}
}
}
}
} private void btn_Add_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedItem == null)//如果没有选择应用程序
{
MessageBox.Show("请选择日志名称");//弹出消息对话框
return;
}
if (textBox1.Text == "")//如果没有添写日志内容
{
MessageBox.Show("请填写日志内容");//弹出消息对话框
textBox1.Focus();//控件得到焦点
return;//退出方法
}
eventLog1.Log = "System";//设置读写日志的名称
eventLog1.Source = comboBox1.//设置日志源名称
SelectedItem.ToString();
eventLog1.MachineName = ".";//设置写入日志的计算机名称
eventLog1.WriteEntry(textBox1.Text);
MessageBox.Show("添加成功");//弹出提示信息
if (eventLog1.Entries.Count > )//如果日志中有内容
{
foreach (System.Diagnostics.EventLogEntry//遍历日志内容
entry in eventLog1.Entries)
{
listView1.Items.Add(entry.Message);//在控件中显示日志内容
}
}
}

EventLog组件的更多相关文章

  1. 使用EventLog组件向本机现有日志中添加条目

    实现效果: 知识运用: EventLog组件的MachineName属性 //获取或设置在其上读取或写入事件的计算机名称 public string MachineName  {get;set; } ...

  2. EventLog组件读写事件日志

    使用.Net中的EventLog控件使您可以访问或自定义Windows 事件日志,事件日志记录关于重要的软件或硬件事件的信息.通过 EventLog,可以读取现有日志,向日志中写入项,创建或删除事件源 ...

  3. 使用EventLog组件保存Windows系统日志

    实现效果: 知识运用: EventLog类的CreateEventSource方法 //用于建立一个应用程序  使用指定的Sourc作为向本机上的日志中写入日志项的有效事件源 CreateEventS ...

  4. 使用EventLog组件读写事件日志

    实现效果: 知识运用: Eventlog类的SourceExists方法 //确定指定的事件源是否已在本地计算机注册 public static bool  SourceExists(string s ...

  5. 一文了解如何源码编译Rainbond基础组件

    Rainbond 主要由以下三个项目组成,参考官网详细 技术架构 业务端 Rainbond-UI 和 Rainbond-Console 合起来构成了业务层.业务层是前后端分离模式.UI是业务层的前端代 ...

  6. 如何用.NET创建Windows服务

    我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类 ...

  7. 服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败

    案例环境: 操作系统   : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Ed ...

  8. web 前端常用组件【01】Pagination 分页

    分页组件几乎是一般网站都会涉及到的组件,网上有很多这样的插件,自己挑来跳去选择了这一款. 官方Demo网址:http://mricle.com/JqueryPagination 功能强大,可扩展性比较 ...

  9. 添加无线服务wzcsvc服务,Eventlog服务

    <添加eventlog服务.reg> Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentCont ...

随机推荐

  1. Cocoa与Cocoa Touch的区别

    Cocoa是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coco ...

  2. C# 之 日常积累(二)

    主要涉及(1)数字前补0:(2)去掉decimal类型后边无效的0相关问题. 1.数字前补0 ; ) { returnnumber.ToString(); } else { returnnumber. ...

  3. centos nginx和tomcat 通过反向代理生成想要的nexus网址

    研究背景: 最近一直在研究maven nexus 私服,所以想在自己带老笔记本上搭建一个私服,看到网上很多私服都有自己带域名,所以想在搭建过程中通过修改host 生成想要带域名 成功截图: 操作步骤: ...

  4. Android(java)学习笔记122:TabActivity使用

    1.首先我们要知道TabActivity是结合TabHost使用的,于是我们自然而然要说明一下TabHost 所谓的TabHost是提供选项卡(Tab页)的窗口视图容器. 此对象包含两个子对象: 一个 ...

  5. HTML5表单内元素的required属性

    当表单内元素(如input.textarea)中有required属性并且值不为false的时候,则该字段不能为空,否则提交失败. <input type="text" au ...

  6. c++与c不太相同的一些地方1

    1.c++区别与java的一个地方:C++更多的是一种规范,不同时期的不同标准,提供了不同的语法要求.所以各个厂商在对C++的支持上也做得不尽相同,比如有些语法vs就支持gcc 就支持的差一些,而某些 ...

  7. Java项目打包在CMD或者Linux下运行

    Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压

  8. jquery用on代替bind(),live(),delegate()的方法

    Js的功能确实非常强大,奈何我一个php程序员一直在js上没有投入足够的精力去研究,每次遇到不会的都是去百度,以后有时间真的应该买本书系统的学习一下 // Bind $( "#members ...

  9. Linux - 查看系统的版本信息

    在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...

  10. 通过GitHub部署网站到Azure WebSite

    一.将代码上传到GitHub存储库中 第一步:创建Github新账户 第二步:新建仓库 第三步:安装Github shell程序,地址:http://windows.github.com/ 第四步:打 ...