学习

chouer

  博客中心 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 登录 ::
  2 随笔 :: 948 文章 :: 8 评论 :: 0 Trackbacks
Cached @ 2025/4/28 15:28:39Control ASP.skins_cogitation_controls_blogstats_ascx
<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

News

留言簿(0)

随笔档案

文章分类

文章档案

搜索

最新评论

  • 1. SAP资料下载
  • SAP下载网,
    SAP资料共享网站,完全免费
    资料全由网友共享,大家共享,大家下载
  • --SAP99

阅读排行榜

评论排行榜

Cached @ 2025/4/28 15:28:39Control ASP.skins_cogitation_controls_singlecolumn_ascx

//自定义异常处理类 
using System;
using System.Diagnostics;

namespace MyAppException
{
 /**//// summary
 /// 从系统异常类ApplicationException继承的应用程序异常处理类。
 /// 自动将异常内容记录到Windows NT/2000的应用程序日志
 /// /summary
 public class AppException:System.ApplicationException
  {
  public AppException()
   {
   if (ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。");
  }

 public AppException(string message)
  {
  LogEvent(message);
 }

 public AppException(string message,Exception innerException)
  {
  LogEvent(message);
  if (innerException != null)
   {
   LogEvent(innerException.Message);
  }
 }

 //日志记录类
 using System;
 using System.Configuration;
 using System.Diagnostics;
 using System.IO;
 using System.Text;
 using System.Threading;

 namespace MyEventLog
  {
  /**//// summary
  /// 事件日志记录类,提供事件日志记录支持 
  /// remarks
  /// 定义了4个日志记录方法 (error, warning, info, trace) 
  /// /remarks
  /// /summary
  public class ApplicationLog
   {
   /**//// summary
   /// 将错误信息记录到Win2000/NT事件日志中
   /// param name="message">需要记录的文本信息</param
   /// /summary
   public static void WriteError(String message)
    {
    WriteLog(TraceLevel.Error, message);
   }

   /**//// summary
   /// 将警告信息记录到Win2000/NT事件日志中
   /// param name="message">需要记录的文本信息</param
   /// /summary
   public static void WriteWarning(String message)
    {
    WriteLog(TraceLevel.Warning, message);  
   }

   /**//// summary
   /// 将提示信息记录到Win2000/NT事件日志中
   /// param name="message">需要记录的文本信息</param
   /// /summary
   public static void WriteInfo(String message)
    {
    WriteLog(TraceLevel.Info, message);
   }
   /**//// summary
   /// 将跟踪信息记录到Win2000/NT事件日志中
   /// param name="message">需要记录的文本信息</param
   /// /summary
   public static void WriteTrace(String message)
    {
    WriteLog(TraceLevel.Verbose, message);
   }

   /**//// summary
   /// 格式化记录到事件日志的文本信息格式
   /// param name="ex">需要格式化的异常对象</param
   /// param name="catchInfo">异常信息标题字符串./param
   /// retvalue
   /// para>格式后的异常信息字符串,包括异常内容和跟踪堆栈./para
   /// /retvalue
   /// /summary
   public static String FormatException(Exception ex, String catchInfo)
    {
    StringBuilder strBuilder = new StringBuilder();
    if (catchInfo != String.Empty)
     {
     strBuilder.Append(catchInfo).Append("\r\n");
    }
    strBuilder.Append(ex.Message).Append("\r\n").Append(ex.StackTrace);
    return strBuilder.ToString();
   }

   /**//// summary
   /// 实际事件日志写入方法
   /// param name="level">要记录信息的级别(error,warning,info,trace)./param
   /// param name="messageText">要记录的文本./param
   /// /summary
   private static void WriteLog(TraceLevel level, String messageText)
    {
    try
    
     EventLogEntryType LogEntryType;
     switch (level)
      {
      case TraceLevel.Error:
       LogEntryType = EventLogEntryType.Error;
       break;
      case TraceLevel.Warning:
       LogEntryType = EventLogEntryType.Warning;
       break;
      case TraceLevel.Info:
       LogEntryType = EventLogEntryType.Information;
       break;
      case TraceLevel.Verbose:
       LogEntryType = EventLogEntryType.SuccessAudit;
       break;
      default:
       LogEntryType = EventLogEntryType.SuccessAudit;
       break;
     }

     EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
     //写入事件日志
     eventLog.WriteEntry(messageText, LogEntryType);

    }
   catch  {} //忽略任何异常
  
 } //class ApplicationLog
}

分享按钮发布于: 2006-09-22 12:29 chouer 阅读(155) 评论(0)  编辑 收藏

评论

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]