EventLog组件
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组件的更多相关文章
- 使用EventLog组件向本机现有日志中添加条目
实现效果: 知识运用: EventLog组件的MachineName属性 //获取或设置在其上读取或写入事件的计算机名称 public string MachineName {get;set; } ...
- EventLog组件读写事件日志
使用.Net中的EventLog控件使您可以访问或自定义Windows 事件日志,事件日志记录关于重要的软件或硬件事件的信息.通过 EventLog,可以读取现有日志,向日志中写入项,创建或删除事件源 ...
- 使用EventLog组件保存Windows系统日志
实现效果: 知识运用: EventLog类的CreateEventSource方法 //用于建立一个应用程序 使用指定的Sourc作为向本机上的日志中写入日志项的有效事件源 CreateEventS ...
- 使用EventLog组件读写事件日志
实现效果: 知识运用: Eventlog类的SourceExists方法 //确定指定的事件源是否已在本地计算机注册 public static bool SourceExists(string s ...
- 一文了解如何源码编译Rainbond基础组件
Rainbond 主要由以下三个项目组成,参考官网详细 技术架构 业务端 Rainbond-UI 和 Rainbond-Console 合起来构成了业务层.业务层是前后端分离模式.UI是业务层的前端代 ...
- 如何用.NET创建Windows服务
我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类 ...
- 服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败
案例环境: 操作系统 : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Ed ...
- web 前端常用组件【01】Pagination 分页
分页组件几乎是一般网站都会涉及到的组件,网上有很多这样的插件,自己挑来跳去选择了这一款. 官方Demo网址:http://mricle.com/JqueryPagination 功能强大,可扩展性比较 ...
- 添加无线服务wzcsvc服务,Eventlog服务
<添加eventlog服务.reg> Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentCont ...
随机推荐
- Cocoa与Cocoa Touch的区别
Cocoa是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coco ...
- C# 之 日常积累(二)
主要涉及(1)数字前补0:(2)去掉decimal类型后边无效的0相关问题. 1.数字前补0 ; ) { returnnumber.ToString(); } else { returnnumber. ...
- centos nginx和tomcat 通过反向代理生成想要的nexus网址
研究背景: 最近一直在研究maven nexus 私服,所以想在自己带老笔记本上搭建一个私服,看到网上很多私服都有自己带域名,所以想在搭建过程中通过修改host 生成想要带域名 成功截图: 操作步骤: ...
- Android(java)学习笔记122:TabActivity使用
1.首先我们要知道TabActivity是结合TabHost使用的,于是我们自然而然要说明一下TabHost 所谓的TabHost是提供选项卡(Tab页)的窗口视图容器. 此对象包含两个子对象: 一个 ...
- HTML5表单内元素的required属性
当表单内元素(如input.textarea)中有required属性并且值不为false的时候,则该字段不能为空,否则提交失败. <input type="text" au ...
- c++与c不太相同的一些地方1
1.c++区别与java的一个地方:C++更多的是一种规范,不同时期的不同标准,提供了不同的语法要求.所以各个厂商在对C++的支持上也做得不尽相同,比如有些语法vs就支持gcc 就支持的差一些,而某些 ...
- Java项目打包在CMD或者Linux下运行
Java项目打包在CMD或者Linux下运行 1.在CMD下运行 在eclipse中将项目export成jar包,然后用压缩软件解压
- jquery用on代替bind(),live(),delegate()的方法
Js的功能确实非常强大,奈何我一个php程序员一直在js上没有投入足够的精力去研究,每次遇到不会的都是去百度,以后有时间真的应该买本书系统的学习一下 // Bind $( "#members ...
- Linux - 查看系统的版本信息
在 Linux 中,有多种方法可以查看系统的版本信息. uname 命令 huey@huey-K42JE:~$ uname -a Linux huey-K42JE 3.5.0-43-generic # ...
- 通过GitHub部署网站到Azure WebSite
一.将代码上传到GitHub存储库中 第一步:创建Github新账户 第二步:新建仓库 第三步:安装Github shell程序,地址:http://windows.github.com/ 第四步:打 ...