控制台中EventLog实现事件日志操作
Posted 站错队了同志
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制台中EventLog实现事件日志操作相关的知识,希望对你有一定的参考价值。
我们应该如何通过写代码的方式向其中添加“日志”呢?
在操作之前,先明确几个概念:
1:事件日志名(logName):“事件查看器”中的每一项,如“应用程序”、“Internet Explorer”、“安全性”和“系统”都是日志(严格地说是日志的显示名字)
2:事件源:列表中的“来源”,创建时和事件日志相关联;
3:事件类型:包括“信息”、“错误”等;
下面介绍事件日志的基本操作:
1:创建日志:我没找到直接创建日志的方法,日志应该都是通过下面的创建事件源来间接创建;
2:创建事件源:静态方法EventLog.CreateEventSource(string sourceName, string LogName); //参数分别表示事件源名和日志名
功能说明:在某个事件日志中创建事件源,如果事件日志不存在,则自动创建;
3:删除日志:静态方法EventLog.Delete(string logName);
4:删除事件源:静态方法EventLog.DeleteEventSource(string sourceName);
5:判断日志是否存在:静态方法EventLog.Exists(string logName);
6:判断事件源是否存在:静态方法EventLog. SourceExists (string sourceName);
7:写日志:使用EventLog类的实例调用方法WriteEntry(string logDesc, EventLogEntryType.Information); //或者EventLogEntryType.Error
引用命名空间
1 using System.IO; 2 using System.Diagnostics; 3 using System.Windows.Forms;
控制台主函数入口调用方法
1 static void Main(string[] args) 2 { 3 string _app_name = Path.GetFileNameWithoutExtension(Application.ExecutablePath); 4 if (!EventLog.SourceExists(_app_name)) EventLog.CreateEventSource(_app_name, "Application"); 5 EventLog.WriteEntry(_app_name, "这应该是捕获的异常信息", EventLogEntryType.Warning); 6 }
以上是关于控制台中EventLog实现事件日志操作的主要内容,如果未能解决你的问题,请参考以下文章
PowerShell Write-EventLog 未写入所需的事件日志