AXzhz

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

感谢 @Pharaoh @Clark Zheng 在上篇Blog的留言,从而使上篇的第三种方法发光了.(③使用Diagnostics.EventLog类)
上篇:http://www.cnblogs.com/AXzhz/archive/2007/12/17/1003315.html

使用自建的DLL写日志.
1.创建一个Web Site项目.
2.引入DLL(Log_AX.dll)
下载DLL:https://files.cnblogs.com/AXzhz/Log_AX.rar
3.使用更方便,只需操作Log类就可,不需改配置文件.
(可以同时指定日志写入系统和文本(参见下面创建Log的代码),也可单独指定一个,文本路径为"C:\日志名.txt")
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;

//Add these reference
using System.Diagnostics;
using Log_AX;

public partial class _Default : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        Log log 
= new Log(LogType.System | LogType.Text, "AXzhz");         
        log.Raise(
"Hello World!");
        log.Raise(
"Hello World!", EventLogEntryType.Warning);
        log.Raise(
"Hello World!", EventLogEntryType.FailureAudit, 2);
        log.Raise(
"Hello World!", EventLogEntryType.SuccessAudit, 666666);
        log.Raise(
"Hello World!", EventLogEntryType.Error, 888888new Exception("This is a test exception!"));

        
//log.DeleteLogFile(LogType.System | LogType.Text, "AXzhz");
    }

}


Screen Shot:


---------------------------------------
UML图:简单画了下,箭头太难用了,实在画不下去了..


-------------------------------------------
总结:
感觉很简单的东西,由于需要重载,而且同时执行匹配的Log方式(系统Log,文本Log),被搞的N复杂,差点放弃.
看似简单的东西浪费了我一天的时间.期间改动代码n次,一直往ILog上加方法,考虑不周.构造方法是个重点.

本来想加注释,后来实在觉得麻烦,太累了.

如果同时往系统日志和文本文件写东西,有可能出现异常.(Text文件不能访问,被另外一个进程使用,后来又不出现了)
生成的系统日志不能被删除,删除时抛类似异常:
The event log source \'AX\' cannot be deleted, because it\'s equal to the log name.

---------------------------------
【源码】
https://files.cnblogs.com/AXzhz/Project_Log_AX.rar

博客园斧头帮少帮主

分类:

技术点:

相关文章:

  • 2021-07-03
  • 2022-12-23
  • 2021-11-19
  • 2021-11-01
  • 2022-01-05
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-28
  • 2021-08-08
  • 2022-03-06
  • 2021-12-22
  • 2022-02-03
  • 2021-07-15
相关资源
相似解决方案