您的位置:首页 > 其它

把项目运行情况写入系统日志(Log)的三种方法_AX

2007-12-17 16:56 423 查看
学习完王磊先生的文章:ASP.NET 2.0中的健康监测系统(Health Monitoring)

/article/4589512.html

就有了这篇文章

目前基本了解到写入系统日志的方法有三种:

①EIF(Enterprise Implementation Framework),很强大的工具,我上项目中已使用.

我自己创建了一个Web Site项目,进行配置,搞了半天,失败!

难道Web Site项目不适合用EIF,还是本人愚钝,高手的说话.

这里有详细的配置步骤:http://msdn2.microsoft.com/en-us/library/ms979206.aspx

②我自己写了个DLL,感觉很好用!

(基本为王磊先生文章的一个扩展)

1.创建一个Web Site项目.

2.引入DLL(LogLibrary_AX.dll)

3.使用Log类的LogInfo/LogWarning方法进行日志的写入.使用代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

//This is my DLL,need import.

using LogLibrary_AX;

public partial class _Default : System.Web.UI.Page

4.配置Web.config

添加 HealthMonitoring 节点

<?xml version="1.0"?>

<configuration>

<appSettings/>

<connectionStrings/>

<system.web>

<!--添加 HealthMonitoring 节点开始-->

<healthMonitoring>

<eventMappings>

<add name="AX" type="LogLibrary_AX.LogInfo"/>

</eventMappings>

<rules>

<add name="rule_AX" eventName="AX" provider="EventLogProvider"/>

</rules>

</healthMonitoring>

<!--添加 HealthMonitoring 节点结束-->

<compilation debug="true"/>

<authentication mode="Windows"/>

</system.web>

</configuration>

LogLibrary_AX.dll源码如下

(下载链接:http://files.cnblogs.com/AXzhz/LogLibrary_AX.rar)

using System;

using System.Web.Management;

namespace LogLibrary_AX

运行结果:



③使用Diagnostics.EventLog类,很easy的方法.我不想用的说.

参见:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemdiagnosticseventlogclasstopic.asp

---------------------------------------------------

【总结】

方法①很好,很强大.

方法②不能出带红×的信息类型,也不能创建一个和Application同级的节点.(会的说话)

方法③可以创建一个和Application同级的节点,参见上图MyNowLog节点,但是好像出来的类型都是Information

(会出别的的说话)

博客园斧头帮少帮主
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐