操作Windows日志:EventLog
如果要在.NET Core控制台项目中使用EventLog(Windows事件日志监控),首先需要下载Nuget包:
此外执行程序要拥有管理员权限
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
基本用法:
using System; using System.Diagnostics; namespace Event { class Program { static void WriteError() { //检测Windows日志中是否存在事件源:My Application,如果不存在就创建事件源 if (!EventLog.SourceExists("My Application")) { EventLog.CreateEventSource("My Application", "Application");//创建事件源,事件源名:My Application,事件日志名:Application } var log = new EventLog("Application")//创建日志到事件日志:Application { Source = "My Application"//指定日志的事件源:My Application }; log.WriteEntry("Error"