首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

帮助ASP.NET中的Elmah配置

好的,我会尽力为您提供一个完善且全面的答案。

首先,让我们来了解一下什么是Elmah以及它的作用。

Elmah是一个开源的ASP.NET组件,它用于捕获和记录Web应用程序中的错误和异常。它通过将异常转化为HTTP 500错误来处理错误,并提供了一种从日志文件中检索错误信息的简单方法。

接下来,让我们来看看如何配置Elmah,以便在ASP.NET应用程序中实现错误处理和日志记录。

步骤1:安装Elmah

您可以从Elmah的官方网站(https://elmah.org/)下载Elmah,然后按照其安装步骤进行安装。

步骤2:配置Elmah

一旦您安装了Elmah,就需要将其配置为在ASP.NET应用程序中使用。这可以通过在Web.config文件中添加一些配置选项来完成。以下是一个简单的配置示例:

代码语言:txt
复制
<configuration>
  <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule" />
    </httpModules>
    <system.web>
      <compilation debug="true">
        <assemblies>
          <add assembly="Elmah" />
        </assemblies>
      </compilation>
    </system.web>
  </system.web>
  <appSettings>
    <add key="elmah.mvc.disableHandler" value="false" />
    <add key="elmah.mvc.disableView" value="false" />
  </appSettings>
</configuration>

这个配置告诉Elmah要记录的错误类型,以及用于显示错误信息的MVC路由。

步骤3:配置Elmah的日志存储位置

默认情况下,Elmah将错误日志存储在应用程序根目录下的elmah.log文件中。您可以通过在Web.config文件中添加以下配置选项来更改日志文件的存储位置:

代码语言:txt
复制
<configuration>
  <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule" />
    </httpModules>
    <system.web>
      <compilation debug="true">
        <assemblies>
          <add assembly="Elmah" />
        </assemblies>
      </compilation>
    </system.web>
  </system.web>
  <appSettings>
    <add key="elmah.mvc.disableHandler" value="false" />
    <add key="elmah.mvc.disableView" value="false" />
    <add key="elmah.logPath" value="~/Logs/elmah.log" />
  </appSettings>
</configuration>

这个配置选项将错误日志存储在~/Logs/elmah.log文件中,以便您可以跟踪错误和异常。

这就是配置Elmah的整个过程。希望这可以帮助您开始使用Elmah来捕获和记录ASP.NET应用程序中的错误和异常。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

重学ASP.NET Core 中的标记帮助程序

这里公开标记帮助程序有两种方式,如下所示: 第一种:使用通配符语法(" * ")指定指定程序集(AspNetCore)中的所有标记帮助程序都可用于_Views_目录及其子目录中的每个视图文件。...注:Microsoft.AspNetCore.Mvc.TagHelpers 是内置 ASP.NET Core 标记帮助程序的程序集。...标记帮助程序的 Intellisense 支持 在 Visual Studio 中创建新的 ASP.NET Core web 应用时,它将添加AspNetCore Razor 的NuGet 包 。...实例演示如何在ASP.NET Core中创建标记帮助程序 标记帮助程序是实现 ITagHelper 接口的任何类。...但是,在创作标记帮助程序时,通常从 TagHelper 派生,这样可以访问 Process 方法。 创建一个名为 AuthoringTagHelpers 的新 ASP.NET Core 项目。

2.8K10

使用Glimpse 监测ASP.NET MVC网站

、所有的Session、Cookie等,对于开发时期来说,这些信息可以帮助我们在除错时候可以掌握确切的信息,然而系统上线之后,Trace功能势必要关闭,而单靠ELMAH记录错误讯息也无法完全掌握,因为有的时候执行正常并不表示功能正常...在官网上的说明,目前Glimpse支持ASP.NET WebForm与ASP.NET MVC。...更改Web.Config的glimpse配置 在Glimpse所提供的readme.txt中就已经有说明如何修改,让启用Glimpse是必须要登入后才可以, ELMAH,让ELMAH所记录到的错误讯息于glimpse中显示,在系统的登入认证后,只要启用glimpse就可以去看ELMAH的纪录数据,不必再另外进入ELMAH, 接下来介绍如何透过...请记得,你的网站必须示已经安装了 ELMAH 以及 Glimpse,NuGet中搜索 Glimpse就可以找到「Elmah plugin for Glimpse」 ?

4.7K90
  • 检测常见ASP.NET配置安全漏洞

    ,大意是依据他搜集到的统计数字,约67%的ASP.NET网站因配置不当,存在安全风险。...有哪些常见的配置漏洞,确定自己都了解并检查手边网站有无类似状况,绝对是件好事。...以下是Hunt列出的常见ASP.NET配置安全漏洞: 未隐藏错误讯息 开发人员常会将方便排错,但正式上线时却忘了移除,导致一旦程序出错,相关程序代码细节甚至程序片段就赤裸裸地展示出来...ELMAH存取未设限 关于ELMAH存取设定的风险之前也有文章 《大叔手记(18):利用Elmah和Google体验一把入侵的快感》提过,稍有不慎,程序里的秘密就会大放送,十分危险,甚至黑客还可能藉此伪造...ASP.NET Session冒充身份,挺恐怖的。

    3.4K60

    在Ubuntu中配置ASP.NET站点

    更让人鼓舞的是当前最为流行的桌面Linux系统Ubuntu已经集成了mono的运行环境,只要手上有一个.net应用程序,拷贝到Ubuntu中,然后就可以运行了。...实际上,在Ubuntu中,已经有一些应用程序是用C#完成的,例如附件中的便签程序Tomboy就是用C#写的,打开Tomboy的文件目录,就会发现很多在Windows中常见的dll程序集,所以,跨平台也不是不可以的...ASP.NET站点要稍微复杂一些。       ...首先需要下载Web Server,这里可以使用xsp 2作为ASP.NET的Web服务器。...下载完成后可以使用tar命令或鼠标双击的方式解压文件。解压以后可以看到其中的配置文件,cs源码文件,帮助文件,其中的test文件夹是用于测试的web站点。        然后是编译XSP程序。

    1.7K20

    ASP.NET Core开发者路线图2020

    Core开发者指南: image.png 你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者。...⭐ 如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案中,请给它一个星星。谢谢!...路线图 image.png 资源 先决条件 C# Entity Framework ASP.NET Core SQL基础知识 通用开发技能 学习GIT, 在GitHub中创建开源项目 掌握HTTP...它将为你渲染生成路线图,更新它,上传和更新自述文件中的图像并创建一个 PR(导出为400%的png图片,然后使用Compressor.io压缩)。...改进后提交 PR 在Issues中讨论问题 推广项目 许可协议 CC BY-NC-SA 4.0 就酱,希望大家慢慢成长了~ 相关链接: ASP.NET Core 中文文档目录 - .NET_CORE_COMMUNITY

    2.1K20

    ASP.NET Core的配置(5):配置的同步

    ConfigurationBuilder在生成以Configuration对象的时候会利用注册其中的ConfigurationProvider加载原始的配置数据,那么一旦配置源中的数据发生变化,应用程序中的使用的配置信息如何与之同步呢...如果需要在应用程序中实现对配置信息的实施同步,就需要对原始配置数据的进行监控,并在数据改变的时候重新加载配置数据。除此之外,重新加载的配置需要应用到程序中,我们必然需要一种通知机制。...我们先创建一个ASP.NET Core控制台应用并在project .json文件中添加相应的依赖。...由于对原始配置文件的变换的监控相关的API实现在“Microsoft.Extensions.Configuration.FileProviderExtensions”这个NuGet包中,我们需要按照如下方式添加针对它的依赖...,这样的设置需要根据当前的负载进行调整,所以需要很高的时效性,我们希望一旦修改了INI文件的配置,应用程序中针对线程池的相关设置可以立即生效。

    1.2K80

    ASP.NET Core的配置(5):配置的同步

    本节所谓的“配置同步”主要体现在两个方面:其一,如何监控配置源并在其变化的时候自动加载其数据,其目的是让应用中通过Configuration对象承载的配置与配置源的数据同步;其二、当Configuration...在上面演示的实例中,基于物理文件的同步是通过调用ConfigurationRoot的扩展方法ReloadOnChanged来实现的。...,Watch方法的参数filter旨在帮助筛选出需要监控的文件。...这个ReloadOnChanged方法的实现逻辑体现在如下所示的代码片段中。...ConfigurationReloadToken对象,所以当我们注册配置加载回调时,需要在回调中完成针对新的ConfigurationReloadToken对象的回调注册,实际上我们上面演示的实例就是这么做的

    1.1K70

    在 ASP.NET Core 中修改配置文件后自动加载新的配置

    在 ASP.NET Core 中修改配置文件后自动加载新的配置 在 ASP.NET Core 默认的应用程序模板中, 配置文件的处理如下面的代码所示: config.AddJsonFile( path...可以在 ASP.NET Core 应用中利用这个特性, 实现修改配置文件之后, 不需要重启应用, 自动加载修改过的配置文件, 从而减少系统停机的时间。...set; } public int RefreshInterval { get; set; } } 在 appsettings.json 中添加的配置如下: { "weather": {...在控制器 (Controller) 中加载修改过后的配置 控制器 (Controller) 在 ASP.NET Core 应用的依赖注入容器中注册的生命周期是 Scoped , 即每次请求都会创建新的控制器实例...在中间件 (Middleware) 中加载修改过后的配置 中间件 (Middleware) 在 ASP.NET Core 应用的依赖注入容器中注册的生命周期是 Singleton , 即单例的, 只有在当应用启动时

    2.6K71

    ASP.NET Core开发者成长路线图

    ,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者。...“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,我把这张图作为建议给每个问过我这一问题的人。 免责声明 该指南的目的是为了给读者心有个大概的轮廓。...⭐ 如果你喜欢或正在使用这个项目进行学习或引用在你的解决方案中,请给它一个星星。谢谢!...路线图 [map] 资源 先决条件 C# Entity Framework ASP.NET Core SQL基础知识 通用开发技能 学习GIT, 在GitHub中创建开源项目 掌握HTTP(S)协议,...它将为你渲染生成路线图,更新它,上传和更新自述文件中的图像并创建一个 PR(导出为400%的png图片,然后使用Compressor.io压缩)。

    2.2K30

    ASP.NET Core的配置(1):读取配置信息

    我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中。...我们创建一个针对ASP.NET Core的控制台应用,并在project.json中按照如下的方式添加针对“Microsoft.Extensions.Configuration”这个NuGet包的依赖,...真实项目中涉及的配置大都具有一个结构化的层次结构,所以在配置模型中的Configuration对象同样具有这样的结构。...在上面演示的实例中,为了创建这些封装配置的对象,我们都是采用手工读取配置的形式,如果定义的配置项太多的话,逐条读取配置项其实是一项非常繁琐的工作。...ASP.NET Core针对配置的Option模型(OptionModel)帮助我们实现了从配置到Option对象之间的绑定,接下来我们就对此做一个简单的演示。

    1.5K80

    ASP.NET Web API RC版本新特性:Web API的帮助文档制作

    InfoQ上有一篇文章是 使用IAPIExplorer列举ASP.NET Web API,文章针对的版本是ASP.NET Web API Beta版本写,IAPIExplorer已经包含在RC版本里了,...而且发现ASP.NET Web API的HttpConfiguration 的RC版本比Beta版本多了一个属性: public DefaultServices Services { get; internal...使用该API可以完成的工作有: 产生文档 创建机器可读的元数据 创建一个测试客户端 微软员工Yao发表了两篇文章(ASP.NET Web API: Introducing IApiExplorer/ApiExplorer...和ASP.NET Web API: Generating a Web API help page using ApiExplorer)分别用于展示如何使用API打印Web API列表以及如何创建帮助文档...所以我们创建帮助文档主要就是参照这篇文章就可以了ASP.NET Web API: Generating a Web API help page using ApiExplorer;作者在文章里面已经实现了一个

    1K100

    【Linux 内核】编译 Linux 内核 ④ ( 打开 Linux 内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 )

    文章目录 一、打开 Linux 内核编译 菜单配置 二、菜单配置中的光标移动与选中状态 三、保存配置 四、配置项帮助文档 一、打开 Linux 内核编译 菜单配置 ---- 执行 make menuconfig...命令 , 弹出菜单配置 ; 二、菜单配置中的光标移动与选中状态 ---- 其中左侧的 * 表示选中状态 , 通过 上下箭头 按键 , 可以上下移动光标 , 按下 空格 按键 , 可以切换 选中 / 取消选中...状态 , 选中状态下 , 条目左侧会显示 * 符号 ; 按下 左右 箭头按键 , 会切换下面的 选项 ; 三、保存配置 ---- 选择 底部的 Save 选项 , 然后按回车 , 即可保存配置 ,...点击 OK , 继续下一步 , 保存完成 , 选择 Exit 退出 ; 内核的编译配置保存在了 .config 文件中 ; 四、配置项帮助文档 ---- 在菜单配置中 , 可以选择裁剪一些内核模块..., 内核越小 , 运行速度越快 ; 上面的内核编译选项 , 如果不清楚细节 , 暂时按照默认配置编译即可 ; 如果想要了解某一项配置的具体作用 , 选中指定的项 , 如 : 按下 " Shift +

    2.3K20

    ASP.NET Core的配置(4):多样性的配置来源

    JSON文件中,最终利用JsonConfiguationProvider加载该文件并将以JSON格式表示的配置原始数据转换成配置字典供配置模型使用。...比如我们在元素中按照如下的方式添加了一个值为“Foobar”的Name属性,Email和PhoneNo在配置字典中的Key将具有额外的前缀“Foobar”。...总的来说,INI文件以单纯的“{Key}={Value}”的形式定义配置项,{Value}可以定义在可选的双引号中(如果值的前后包括空白字符,必须使用双引号,否则会被忽略)。...中括号(“[]”)同时作为下一个的配置节开始的标志,同时也作为上一个配置结束的标志,所以采用INI文件定义的配置节并不存在层次化的结构,即没有“子配置节”的概念。...(Profile>ContactInfo),我们可以按照如下的形式将Emil和PhoneNo定义在配置节“ContactInfo”中,这个INI文件和上面是完全等效的。

    1K80
    领券