ASP.Net Core 6 Free Error Logging NuGet Package RSEasyExceptionHandler.

ASP.Net Core 6 Free Error Logging NuGet Package RSEasyExceptionHandler.

Logging in ASP.net Core 6! We should always add error login in our program and it should be in the better by now.

What do I mean, Logging frameworks and libraries, such as log4net, NLog, elmah, and Serilog, are widely used by developers for debugging code in the .Net ecosystem. These tools are known for their simplicity, ease of use, and effectiveness in capturing log data. However, while these logging tools are valuable, they may not be sufficient on their own and not free.

In this article, I am going to share a free NuGet package which will help you do to the following in the free of cost and package name is RSEasyExceptionHandler.
https://www.nuget.org/packages/RSEasyExceptionHandler/

  1. 1.      Error Logging in ASP.net Core 6 (API or Web Site)
  2. 2.      Auto save error log in the SQlite database
  3. 3.      Send error email notifications to the dev team or TL.

RS_EasyExceptionHandling helper library for ASP.Net Core 6

The RS EasyExceptionHandling helper library developed by Mr. Ravinder Singh (ਰਵਿੰਦਰ ਸਿੰਘ), it helps you to manage error handling in your ASP.Net Core Web API or Web Site. So no need to write code for error loging for your project. The library supports ASP.NET Core 6 for now.

Features

  • ASP.Net Core 6 error tracking in the SQLite database
  • Send an error notification to the team

Getting started

Prerequisites

Requirements Requires .NET 6.0.

Following Nuget packages

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Sqlite

How to use

Run the following command to install the package using the .NET CLI:

dotnet add package RSEasyExceptionHandler 

Alternatively, from the Package Manager Console or Developer PowerShell, run the following command to install the latest version:

Install-Package RSEasyExceptionHandler 

Alternatively, use the NuGet Package Manager for Visual Studio or the NuGet window for JetBrains Rider, then search for Twilio.AspNet.Core and install the package.

  • Open Program.cs class and regester <i>AddRS_ErrorHandlingMiddleware</i> Dependency near builder.Services.AddSwaggerGen();

    builder.Services.AddRS_ErrorHandlingMiddleware();
    
  • Note: Devloper can set own database name and location in the project. 1st create a folder like "Databaes" at root folder and then set "Data Source=database\RSAppErrorsLog.db" like following

    builder.Services.AddRS_ErrorHandlingMiddleware("Data Source=database\\MyAppErrorsLog.db");
    
  • Next add following code lines in Program.cs near app.Run();

    RSDependencyInjection.SetupLogDataBase(app.Services.CreateScope());
    app.UseMiddleware<RS_ErrorHandlingMiddleware>();
    
    
  • Add SMTP Settings in appsettings.json

    "RSError_EmailSenderSMTP": {
    "Host": "smtp-host.sendinblue.com",
    "Port": 587,
    "EnableSSL": true,
    "Username": "login email address",
    "Password": "password",
    
    "TL_Emails": "", //Team Lead or Project Manager emails (CC)
    "Dev_Emails": "ravinder25886@gmail.com", //Development team emails(TO)
    "enable_error_notification": false // true= will send mail and false mean off mailing
    }
    

How to read error log

We have developed very user friendly library so that developers can read error log without any hard work.

  • For read create a API controller and past following code. Now, you can show error log in your front end.

          [Route("api/[controller]")]
          [ApiController]
          public class ErrorLogController : ControllerBase
          {
              private readonly IErrorLogService _errorLogService;
    
              public ErrorLogController(IErrorLogService errorLogService)
              {
                  _errorLogService = errorLogService;
              }
    
              [HttpGet(Name = "GetErrorLog")]
              public async   Task<IActionResult> Get([FromQuery] PaginationFilter filter)
              {
                  return Ok(await _errorLogService.GetListAsync(filter)); 
              }
          }
    

    Delete log functions

          [HttpPost]
          [Route("DeleteAll")]
          public async Task<IActionResult> DeleteAll(CancellationToken cancellationToken)
          {
              return Ok(await _errorLogCommandsService.DeleteAllAsync(cancellationToken));
          }
          [HttpDelete("{id}")]
          public async Task<IActionResult> DeleteAll(Guid id, CancellationToken cancellationToken)
          {
              return Ok(await _errorLogCommandsService.DeleteByIdAsync(id, cancellationToken));
          }
    

I hope this package will save your time, if you have any issue with NuGet package then please contact on https://www.theravinder.com/contact


 

 


Thanks, for reading the blog, I hope it helps you. Please share this link on your social media accounts so that others can read our valuable content. Share your queries with our expert team and get Free Expert Advice for Your Business today.


About Writer

Ravinder Singh

Full Stack Developer
I have 12+ years of experience in commercial software development. I write this blog as a kind of knowledge base for myself. When I read about something interesting or learn anything I will write about it. I think when writing about a topic you concentrate more and therefore have better study results. The second reason why I write this blog is, that I love teaching and I hope that people find their way on here and can benefit from my content.

Hire me on Linkedin

My portfolio

Ravinder Singh Full Stack Developer