首页
学习
活动
专区
工具
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.Configglimpse配置 在Glimpse所提供readme.txt中就已经有说明如何修改,让启用Glimpse是必须要登入后才可以, <glimpse enabled="true...其实glimpse可以结合<em>ELMAH</em>,让<em>ELMAH</em>所记录到<em>的</em>错误讯息于glimpse<em>中</em>显示,在系统<em>的</em>登入认证后,只要启用glimpse就可以去看<em>ELMAH</em><em>的</em>纪录数据,不必再另外进入<em>ELMAH</em>, 接下来介绍如何透过...请记得,你<em>的</em>网站必须示已经安装了 <em>ELMAH</em> 以及 Glimpse,NuGet<em>中</em>搜索 Glimpse就可以找到「<em>Elmah</em> plugin for Glimpse」 ?

4.6K90
  • 检测常见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.NETWeb服务器。...下载完成后可以使用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.1K80

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

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

    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.5K71

    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.4K80

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

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

    2.2K20

    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

    使用 NuGet 管理项目库

    当一位开发人员开始新项目时,他将面对一张空白画布。 他如何去发现这些有用库? 如何将库集成到当前项目中并管理库依赖项和更新呢? ELMAH 就是一个非常有用库,是由开发人员自己编写。...ELMAH 能够在出现异常时记录 Web 应用程序中所有未经处理异常以及所有请求信息,例如,标头、服务器变量等。 假设您刚刚听说 ELMAH 并希望在下一个项目中使用它。...您可能会采取下列步骤: 查找 ELMAH。由于它名称独特,Bing 搜索第一条搜索结果将是 ELMAH Google 代码页。 下载正确 zip 包。该站点下载页面有多个 zip 包。...Google 代码站点会显示代表该 zip 文件 QR 代码。 在您认识开发人员,有多少会抽出时间来根据 QR 代码验证文件? 将程序包内容解压缩到解决方案特定位置。...这可能意味着您要使用 Bing 或 Google 进行更多搜索才能找到配置文件所需正确设置。 真是很麻烦! 现在,假设您必须为 10 至 15 个依赖项执行这些操作。

    1.5K100
    领券