asp.net生产环境和开发环境的错误日志包装策略

对于错误日志的输出,我们借助web.config的两个标志位:

<!--全局包装异常处理页面,只有在PageError和Application_Error做清除错误操作才可不跳转-->
<!--调试时请设置成Off,生产环境此项必须为On-->
<customErrors mode="Off" defaultRedirect="~/ErrorPage/404/index.html">
  <error statusCode="404" redirect="~/ErrorPage/404/index.html"/>
</customErrors>
<!--调试时请设置成true,生产环境此项必须为false-->
<compilation debug="true" targetFramework="4.0">

其中,我重写三个事件:后台页面的基类重写的【PageError】、前台MVC的基类重写的【ControllerException(此事件为自定义名称,参考MVC的错误重写)】、全局Global的【Application_Error】,然后遵循以下原则:

1、【Application_Error】:

①用于前台错误提示策略,非debug模式,开启了默认错误跳转页面,全部只记录堆栈到数据库,不包装跳转,使用默认错误跳转页面

②非debug模式下,只有是localhost访问站点时才显示堆栈

③非debug模式下,没有开启默认错误跳转,直接输出包装的异常信息

2、【ControllerException】:

①MVC前台错误提示策略,非debug模式,开启了默认错误跳转页面,全部只记录堆栈到数据库,不包装跳转,使用默认错误跳转页面

②非debug模式下,只有是localhost访问站点时才显示堆栈

③非debug模式下,没有开启默认错误跳转,直接输出包装的异常信息

3、【PageError】:

①后台错误提示策略,非debug模式,全部记录堆栈到数据库,并包装跳转

②非debug模式下,只有是localhost访问站点时才显示堆栈

附件:

错误页面模板:https://github.com/easonjim/3_web_example/tree/master/htmlpage

时间: 2024-10-12 07:40:24

asp.net生产环境和开发环境的错误日志包装策略的相关文章

angular4的多环境(测试环境与开发环境,生产环境)

使生成项目可以多环境运行(测试环境与开发环境,生产环境) 这里对应的是不同的运行环境,随时通过上面的方式进行切换 同样着也可以用在部署环境上面..这个表式编译生成生产环境的微信号 原文地址:https://www.cnblogs.com/boonook/p/8689291.html

通过Maven配置测试环境和开发环境连接不同的数据库

通过Maven配置测试环境和开发环境连接不同的数据库 作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com 摘要: 通过Maven配置测试环境和开发环境连接不同的数据库 "通过Maven配置测试环境和开发环境连接不同的数据库":关键词:通过 maven 配置 测试 环境 开发 环境 连接 不同 其他数据库 通过maven配置测试环境和开发环境连接不同的其他数据库 操作上分3个步骤 1.在数据持久层的po

一个十分简单的、关于生产环境和开发环境的webpack配置

关于这个开发环境和生产环境的配置代码,之所有要分开是因为他们有些代码相同,有的又不同. 例如:开发模式下需要启动本地服务器,需要热重载,而生产模式不需要这些需要代码压缩.DefinePlugin等. 我们都是将两种环境都用用到的提取出来,放在一个公共.js文件.然后在相应的环境配置中使用  webpack-merge  将公共js合并进来. 我所了解到的配置思路,有两种: 方法一: 使用webpack-dev-server配置开发环境(这个简洁一些): 方法二: 使用webpack-dev-mi

vue中使用axios给生产环境和开发环境配置不同的baseUrl

第一步:设置不同的接口地址 找到文件:/config/dev.env.js 代码修改为: var merge = require('webpack-merge') var prodEnv = require('./prod.env') module.exports = merge(prodEnv, { NODE_ENV: '"development"', //添加 API_ROOT: '"//192.168.1.8/api"' }) /config/prod.env

Eclipse Maven profiles 多环境配置,测试环境与开发环境分开打包

1.将开发环境.测试环境.生产环境的配置文件分开存放,如下图: 2.在Maven中配置不同的环境打包配置文件的路径,配置如下: <profiles> <profile> <!-- 开发环境 --> <id>dev</id> <properties> <env>dev</env> </properties> <activation> <!-- 默认激活该profile节点-->

01_Android应用开发环境_03_开发环境搭建及简单Android程序

搭建开发环境,创建模拟器,最后完成一个简单的Android版应用程序并介绍项目目录. 1 搭载Android开发环境 1.1 安装Eclipse和ADT     下载Android SDK.SDK的全称是软件开发工具包(Software Development Kit),Android SDK提供了一些开发Android所必须的API库以及开发工具,用于开发测试和调试Android应用程序.ADT是一个Eclipse的插件,它包含了一些使用Eclipse开发Android应用程序所需要的工具包.

从0构建webpack开发环境(三) 开发环境以及 webpack-dev-server 的使用

sourceMap 实际应用开发过程中大部分时间都是处于开发模式中,其中需要频繁的修改代码.调试和打包. 但是打包后的代码多个模块压缩到了一个bundle文件,如果出现警告或者异常很难定位到具体模块和位置,所以webpack提供了source map的配置 devtool, 该配置可选且具有多个配置项 ,具体包含以下: devtool 构建速度 重新构建速度 生产环境 品质(quality) (none) +++ +++ yes 打包后的代码 eval +++ +++ no 生成后的代码 che

PHP 开发 APP 接口--错误日志接口

APP 上线以后可能遇到的问题: ① APP 强退 ② 数据加载失败 ③ APP 潜在问题 错误日志需要记录的内容 数据表 error_log 字段: id app_id:app 类别 id did:客户端设备号 version_id:版本号 version_mini:小版本号 error_log:错误信息(由 APP 返回,客户端开发工程师开发) error.php 处理 app 错误日志 <?php require_once('./common.php'); class ErrorLog e

Windows 工作环境 &amp;&amp; Java 开发环境搭建

首先,感谢那篇高效 MacBook 工作环境配置,让我能在第一次使用MacBook时顺利的适应. 时过境迁,换了公司之后,重新换回Windows,新机器,新系统.由于Windows中没有"绿色/免费/汉化/Cxxxk"的"市场"应用,决定基于Windows环境写一篇工作中常用的软件整理,因为是做Java的,所以会把编程和Java相关的软件也带上,非Java猿可忽略这一块. 随着科学技术的提高,真正提高的并不是人类本身,而是各式各样的工具,正如诺基亚的那句广告&quo