将异常信息写入自定义的Windows事件日志中

在.NET中将信息写入Windows事件日志中可能只需要一句话就能解决:调用EventLog的WriteEntry方法。更多的情况下我们需要专门的类别来记录一些异常信息,.NET同样给我们提供了非常便捷方法:调用EventLog的CreateEventSource方法创建自己的事件源,然后再将异常信息写到里面。但是很遗憾,如果你仅仅只是这样的话,在你运行程序的时候是不能成功的,原因很简单: ASPNET用户帐号没有足够的权限来创建事件源。

Google上你可以非常容易的搜索到如何将信息写入事件日志和创建自己的事件源,各大技术网站和Blog上面也有相关文章,但却很少有人提到权限的问题,真怀疑这些个作者写完文章之后有没有运行一下代码,既然是做技术的,在写技术类文章的时候必要的严谨是少不掉的,又不是琼瑶老阿姨写悲情搞笑剧,随便写写就可以了。

可以通过以下两种办法来实现创建自定义事件源:
1。修改Windows注册表,不推荐这种办法,存在一定风险,万一把系统弄崩溃就太不划算了,所以在这里就不提供该方法了。
2。通过创建Installer class并且借助installutil.exe 工具创建自己的事件源。
说一下具体步骤:
在你的Project中添加一个New Item(installer class)
随后在该文件中添加如下代码
None.gif System.Diagnostics.EventLogInstaller eventLogInstaller  =   new  System.Diagnostics.EventLogInstaller();
None.gif
None.gifeventLogInstaller.Source 
=   " Source " ;
None.gifeventLogInstaller.Log 
=   " Log " ;
None.gif
None.gif
this .Installers.Add(eventLogInstaller);
编译,随后在命令行模式下输入:installutil.exe  该项目.DLL文件所在目录,之后名为Log的日志类别便会出现在Windows的事件察看其中。

接下来我们可以在任何地方输入以下代码来将信息记录到名为Log的事件日志中
None.gif System.Diagnostics.EventLog.WriteEntry( " Source " , " Test " ,System.Diagnostics.EventLogEntryType.Error); 

完整的代码 下载

转载于:https://www.cnblogs.com/blurlzy/archive/2005/01/21/95355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值