zoukankan      html  css  js  c++  java
  • 在global里捕获黄页并写入异常日志库

    可以在global文件中的application_error()中,记录用户操作中出现的异常日志

            protected void Application_Error(Object sender, EventArgs e)
        
    {
                
    try
                
    {
                    Exception exception 
    = HttpContext.Current.Server.GetLastError();
                    
    // 如果有异常,则记录异常
                    if (exception != null)
                    
    {
                        exception 
    = exception.GetBaseException();
                        log4net.ILog log 
    = log4net.LogManager.GetLogger("ErrorLogFileAppender");
        
                        
    //先注释掉,用于开发调试之用
                        
    // 保存异常记录
                        System.Text.StringBuilder errorMessage = new System.Text.StringBuilder();
                        errorMessage.Append(Environment.NewLine);
                        errorMessage.Append(
    "异常消息:");
                        errorMessage.Append(exception.Message);
                        errorMessage.Append(Environment.NewLine);
        
                        errorMessage.Append(
    "异常用户:");
                        errorMessage.Append(Environment.NewLine);
        
                        errorMessage.Append(
    "异常时间:");
                        errorMessage.Append(System.DateTime.Now.ToString());
                        errorMessage.Append(Environment.NewLine);
        
                        errorMessage.Append(
    "异常位置:");
                        errorMessage.Append(Environment.NewLine);
                        errorMessage.Append(exception.StackTrace);
                        errorMessage.Append(Environment.NewLine);

                        OperationLogBL logBl 
    = new OperationLogBL();
                        OperationLogData data 
    = new OperationLogData();
                        data.OperateDate    
    = DateTime.Now;
                        data.OperatorId        
    = CurrentUser.Info.UserID;
                        data.OperatorName    
    = CurrentUser.Info.UserName;
                        data.OperatorEnName    
    = CurrentUser.Info.UserNameEn;
                        data.TypeNo            
    = (int)Model.LogType.错误日志;
                        data.Remark            
    = errorMessage.ToString();
                        data.ModifiedId        
    = exception.Source;
                        data.ModifiedItem    
    = Request.UserHostAddress;
                        data.OldValue        
    = Request.RawUrl.ToString();
                        logBl.Add(data);
                    }
     // end if (exception != null)
                }

                
    catch (Exception ex)
                
    {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }

                      
    // 跳转至 [异常提示] 页面
                      if (ConfigurationSettings.AppSettings["EnableErrorPage"].ToLower() == "true")
                      
    {
                        
    string url = ConfigurationSettings.AppSettings["NoRightRedirect"];
                        Response.Redirect(url);
                      }

            }



    net的错误机制处理:

    。<customErrors> 配置节支持内部 <error> 标记,该标记将 HTTP 状态代码与自定义错误页关联。例如:

    <configuration>  
    <system.web>    
    <customErrors mode="RemoteOnly" defaultRedirect="/genericerror.htm">      <error statusCode="500" redirect="/error/callsupport.htm"/>      <error statusCode="404" redirect="/error/notfound.aspx"/>      
    <error statusCode="403" redirect="/error/noaccess.aspx"/>    </customErrors>  </system.web></configuration>mode   


    mode:指示自定义错误是启用、禁用还是只向远程计算机显示。值:On、Off、RemoteOnly(默认值)。 

  • 相关阅读:
    Ubuntu安装后root 用户无法使用的解决方法
    struts2 上传 文件 注意问题
    WinSCP无法连接 ubuntu 的解决方法
    TOMCAT 6 中配置HTTPS
    Linux上安装ImageMagick和JMagick
    linux 下 Nginx 0.8.40的安装
    Displaying icons in a Flex List control
    Styling the Alert control’s message text
    Displaying icons in a Flex ComboBox control
    Styling the Alert control’s title bar
  • 原文地址:https://www.cnblogs.com/syveen/p/253888.html
Copyright © 2011-2022 走看看