先来看一段代码:
if (!EventLog.SourceExists(sourceName)) EventLog.CreateEventSource(sourceName, "Application"); EventLog.WriteEntry(sourceName,aMessage,anEntryType,LogId,(short)aCategory );
这是一段不能再常规的记录系统日志的代码。
这里有两点需要注意:
1:sourceName指的是event列表中第三列的内容
2:logName指的是外层目录的名字。
上面的代码最终是将日志写到了Windows logs-Application-自定义的sourceName中。
sourceName和logName都是可以自定义创建的。只不过自定义的logName只能出现在Applications and Services Logs中。
注意!经多次测试发现无论是创建自定义logName还是sourceName 都需要管理员权限。否则会创建失败。
建议在写日志的代码部分 catch SecurityException
catch( System.Security.SecurityException )
{ try { EventLog.WriteEntry( "Application", aMessage, anEntryType, logId, (short)aCategory ); } catch {} }