ElmahCore

2025-12-07 0 965

该项目是根据Apache许可证2.0的条款获得许可的。

使用ElmahCore

Elmah for Net.Standard和Net.Core(3.1,5,6)

添加Nuget软件包ElmahCore

简单用法

startup.cs

 1 )	services . AddElmah ( ) in ConfigureServices 
2 )	app . UseElmah ( ) ; in Configure

app.useelmah()必须在初始化其他异常处理中间件之后,例如(useexceptionhandler,useedeveloperexceptionpage等)

默认的Elmah路径〜/Elmah。

更改URL路径

 services . AddElmah ( options => options . Path = \"you_path_here\" ) 

限制访问Elmah URL

 services . AddElmah ( options =>
{
        options . OnPermissionCheck = context => context . User . Identity . IsAuthenticated ;
} ) ;

注意: app.useelmah();需要追随

app.UseAuthentication();
app.UseAuthorization();
app.UseElmah();

否则,即使用户对用户进行身份验证,也会将其重定向到屏幕上的符号。

更改错误日志类型

您可以创建自己的错误日志,该日志将在任何地方存储错误。

    class MyErrorLog : ErrorLog
    //implement ErrorLog

此错误列表中可用:

  • MemoryErrorlog – 存储错误在内存中(默认情况下)
  • XMLFileErrorlog – 将错误存储在XML文件中
  • SQLERRORLOG-将错误存储在MS SQL中(添加引用ElmahCore .sql)
  • mysqlerrorlog-将错误存储在mysql中(添加引用ElmahCore .mysql)
  • PGSQLERRORLOG-在PostgreSQL中存储错误(添加引用ElmahCore .postgresql)
 services . AddElmah < XmlFileErrorLog > ( options =>
{
    options . LogPath = \"~/log\" ; // OR options.LogPath = \"с:\\errors\";
} ) ; 
 services . AddElmah < SqlErrorLog > ( options =>
{
    options . ConnectionString = \"connection_string\" ;
    options . SqlServerDatabaseSchemaName = \"Errors\" ; //Defaults to dbo if not set
    options . SqlServerDatabaseTableName = \"ElmahError\" ; //Defaults to ELMAH_Error if not set
} ) ; 

提高例外

 public IActionResult Test ( )
{
    HttpContext . RaiseError ( new InvalidOperationException ( \"Test\" ) ) ;
    .. .
} 

microsoft.extensions.logging支持

由于2.0版ElmahCore支持Microsoft.extensions.logging

来源预览

由于版本2.0.1 ElmahCore支持源预览。只需将路径添加到源文件。

ElmahCore.DemoCore3\”,
@\”D:\\tmp\\ ElmahCore .Mvc\”,
@\”D:\\tmp\\ ElmahCore \”
};
});\”>

 services . AddElmah ( options =>
{
   options . SourcePaths = new [ ]
   {
      @\"D:\\tmp\\ ElmahCore .DemoCore3\" ,
      @\"D:\\tmp\\ ElmahCore .Mvc\" ,
      @\"D:\\tmp\\ ElmahCore \"
   } ;
} ) ; 

记录请求主体

由于版本2.0.5 ElmahCore可以记录请求主体。

记录SQL请求主体

由于版本2.0.6 ElmahCore可以记录SQL请求主体。

记录方法参数

由于版本2.0.6 ElmahCore可以记录方法参数。

ElmahCore;

public void TestMethod(string p1, int p2)
{
// Logging method parameters
this.LogParams((nameof(p1), p1), (nameof(p2), p2));

}
\”>

 using ElmahCore ;
.. .

public void TestMethod ( string p1 , int p2 )
{
    // Logging method parameters
    this . LogParams ( ( nameof ( p1 ) , p1 ) , ( nameof ( p2 ) , p2 ) ) ;
    .. .
} 

使用useelmahexceptionpage

您可以替换二手exceptionpage到useelmahexceptionpage

 if ( env . IsDevelopment ( ) )
{
   //app.UseDeveloperExceptionPage();
   app . UseElmahExceptionPage ( ) ;
} 

使用通知器

您可以通过实现ierrornotifier或ierrornotifierWithID界面创建自己的通知符,并在Elmah选项中添加Notifier:

 services . AddElmah < XmlFileErrorLog > ( options =>
{
    options . Path = @\"errors\" ;
    options . LogPath = \"~/logs\" ;
    options . Notifiers . Add ( new ErrorMailNotifier ( \"Email\" , emailOptions ) ) ;
} ) ;

每个通知器必须具有唯一的名称。

使用过滤器

您可以在单独的文件中使用Elmah XML过滤器配置,创建并添加自定义过滤器:

 services . AddElmah < XmlFileErrorLog > ( options =>
{
    options . FiltersConfig = \"elmah.xml\" ;
    options . Filters . Add ( new MyFilter ( ) ) ;
} )

自定义过滤器必须实现iErrorFilter。 XML过滤器配置示例:

 < ? xml version = \"1.0\" encoding = \"utf-8\" ? >
< elmah >
	< errorFilter >
		< notifiers >
			< notifier name = \"Email\" / >
		< / notifiers >
		< test >
			< and >
				< greater binding = \"HttpStatusCode\" value = \"399\" type = \"Int32\" / >
				< lesser  binding = \"HttpStatusCode \" value=\" 500 \" type = \"Int32\" />
			< / and > 
		< / test >
	< / errorFilter >
< / elmah >

在这里查看更多

JavaScript过滤器尚未吸引:(

如果您不想发送过滤错误的错误,则将通知添加到错误缩写节点,但不会发送。

搜索和过滤器

由于版本2.2.0 TOU可以使用全文搜索和多个过滤器。

分析文本字段的全文搜索工作。

可以通过添加过滤器按钮获得过滤器。

或者,您可以在错误字段右侧使用过滤器图标

当前仅支持内存和XMLFILE错误日志。

下载源码

通过命令行克隆项目:

git clone https://github.com/ElmahCore/ElmahCore.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 ElmahCore https://www.zuozi.net/31659.html

NLog.Web
上一篇: NLog.Web
AntMgr
下一篇: AntMgr
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务