在.NET(正式版)环境下读写系统日志

2008-01-16  来源:   浏览次数 0

在 .NET (正式版)环境下读写系统日志

 

作为商业应用程序,尤其是 WEB 下的应用程序,安全问题是第一位的。这里所说的安全包括两个方面,一是系统本身的安全,也就是系统本身的强壮性,另一方面是系统在使用时,用户的误操作,或恶意破坏时引起的安全问题。

本文并不想介绍系统全方面的问题,如果你有兴趣的可以去查阅相关资料。这里,我想要介绍的是如何在系统发生错误,或者遭到破坏时,如何把相关信息记录下来。比如,当有人试图非法登录的时候,如何记录下时间,他所在机器的 IP 等一系列信息,以便管理员采取相关的措施。

有两种方式可供选择,一是将相关信息写入指定的数据库的表中。另一种方法就是写入系统日志文件里。将信息写入数据库,在 .NET 环境下,需要实例化许多对象,如 SqlConnection , SqlCommand 等,还要进行数据库的连接等工作,仅仅是为了插入一条记录。相对来说,这种方式比较消耗系统资源,如果,系统本身就没有数据库支持,那么这种方法根本不可行。本文要介绍的是第二种方式,将信息写入系统日志。

在 .NET 的 System.Diagnostics 命名空间里提供了几个类,专门用来操作系统日志。

一:向日志里写入信息

首先,我们要引用 System.Diagnostics 命名空间。然后,我们来实例化 EventLog 类,我们的大部分工作都是用这个类来完成。

EventLog sample=new EventLog();

该类提供的 WriteEntry 方法,让我们将信息写入系统日志,一般是写入应用程序日志里。方法的定义如下

public void WriteEntry(

string  source,

   string  message,

   EventLogEntryType  type,

   Int  eventID,

   short  category,

   byte[]  rawData

);

例如:

EventLog.WriteEntr("sourcei","message",EventLogEntryType.Warning ,11,21);

介绍一下该方法参数的含意。

1)         Source    表示记录的来源,字符串型

2)         Message   表示记录的相关信息,字符串型

3)         Type      表示记录类型,是枚举类型,有以下选项

ü            Error 错误

ü            Warning 警告

ü            上一页 下一页

上一篇:charlespetzold的..    下一篇:实用C#(一)

相关主题:

网友评论