路径问题 Global文件中写入错误日志记录

“~”表示Web 应用程序根目录,“/”也是表示根目录,“../”表示当前目录的上一级目录,“./”表示当前目录

1  throw抛出异常     2 执行OnActionExecuted 方法   3执行 Global  中的 Application_Error 方法写入日志

global文件中写入  错误日志记录

  protected  void Application_Error(object sender,EventArgs e)
        {
            Exception lastError = Server.GetLastError();
            if(lastError!=null)
            {
                string strExceptionMessage = string.Empty;
                //对HTTP 404做额外处理,其他错误全部当成500服务器错误
                HttpException httpError = lastError as HttpException;
                if(httpError!=null)
                {
                    //获取错误代码
                    int httpCode = httpError.GetHttpCode();
                    strExceptionMessage = httpError.Message;
                    if(httpCode==400||httpCode==403||httpCode==404)
                    {
                        Response.StatusCode = httpCode;
                        //跳转到指定的静态404信息页面
                        Response.WriteFile("~/404.html");
                        Server.ClearError();
                        return;
                    }
                }
                log.Error(lastError.Message, lastError);
                Response.WriteFile("~/400.html");
#if DEBUG

#else
                Server.ClearError();
#endif

            }
        }

原文地址:https://www.cnblogs.com/whl4835349/p/11606931.html

时间: 2024-10-07 00:13:28

路径问题 Global文件中写入错误日志记录的相关文章

在Java项目中打印错误日志的正确姿势

在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导.但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全.没有相关背景.不明其义,使得排查解决问题成为非常不方便或者耗时的操作. 而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功.在阐述如何编写有效的错误日志之前,了解错误是怎么产生的, 非常重要. 错误是如何炼成的 对于当前系统来说, 错误的产生由三个地方引入: 1.上层系统引入的非法参数.对于非法参数引入的错误, 可以通过参数校验和前置条件校验

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

(转)linux sudo 重定向,实现只有系统管理员才有权限操作的文件中写入信息

众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式. 本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息. 比如要向 test.asc 文件中随便写入点内容,可以: $ echo "信息" > test.asc # 或者 $ echo "信息" >> test.asc 下面,如果将 test.asc 权限设置为只有 root 用户才有权限进行写操作: $ sudo

PHP 文件操作类(创建文件并写入) 生成日志

<?php /** * 文件操作(生成日志)支持多条插入 * (如果插入多条语句并换行 用','逗号分开) * */ class log { public $path = './info.txt'; //默认值文件 public $mode = 'a'; //默认追加写 public $content = '默认值:空'; //默认内容是 空 public function addlog($path = null, $mode = null, $content = null) { //判断写入的

计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

//给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕.主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中. //重难点:对文件的处理.如何判断文件是否达到末尾,如何往文件中写入数据. 1 #include <stdio.h> 2 #include <stdlib.h> 3 int fun(char *source, char *target) 4 { FILE *fs,*f

Linux如何在一个文件中写入内容

Linux中,在一个文件中写入内容,可以vim打开编辑模式,输入我们想要的内容,此次我们使用echo命令 来在一个文件夹中写入内容. echo命令: 第一种: echo 'i love u' >a.txt *在a.txt这个文件中输入i love u,如果没有这个文件则创建.如果有这个文件,那么新内容代替原来的内容. 第二种: echo 'i love u' >a.txt *在a.txt这个文件中输入i love u,如果没有这个文件则创建.如果有这个文件,那么新内容添加在原来内容的后面 原文

.Net Core中间件和过滤器实现错误日志记录

1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件. 每个中间件可以: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下一个组件之前和之后执行业务逻辑. 中间件是一个请求委托( public delegate Task RequestDelegate(HttpContext context) )的实例,所以中间件的本质就是一个方法,方法的参数是HttpContext,返回Task.传入的HttpContext参数包含

自定义错误日志记录类

引言 这是一个简单的自定义的错误日志记录类,这里我主要用于API接口开发中,APP移动端的入参记录 日志参数 /// <summary> /// 日志参数 /// </summary> public static class LogReq { /// <summary> /// 入参 /// </summary> public static string LogReqStr = ""; /// <summary> /// 加密

PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项

[记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 1024 其他: 选项 描述 log_errors 设置是否将错误信息记录到日志或者 error_log 中 error_log 设置脚本错误将记录到的文件 log_errors_max_len 设置 log_errors 的最大字节数 ignore_repeated_errors 是否忽略重复的错误