Navratri Sale: Get Upto 30% OFF on Live Training! Offer Ending in
D
H
M
S
Get Now

Exceptions Handling and Logging in ASP .Net Core

Level : Advanced
Mentor: Shailendra Chauhan
Duration : 00:02:00

ASP.NET Core - Exception Handling

Exception handling in ASP.NET Core is crucial for robust application development. You can manage exceptions using the Microsoft.AspNetCore.Diagnostics package, which provides two main middleware options: UseDeveloperExceptionPage for development environments and UseExceptionHandler for production environments.Using UseDeveloperExceptionPage: This middleware displays detailed exception information for developers during application development. It helps identify and fix issues quickly.

Example

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  if (env.IsDevelopment())
  {
    app.UseDeveloperExceptionPage();
  }
  // Other middleware configurations
}

Using UseExceptionHandler

This middleware is suitable for production environments. It allows you to provide a custom error-handling path or delegate, which can gracefully handle exceptions without revealing sensitive information to end users.

Example

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  if (!env.IsDevelopment())
  {
    app.UseExceptionHandler("/Home/Error"); // Replace "/Home/Error" with your desired error handling path.
    app.UseStatusCodePagesWithReExecute("/Home/Error/{0}");
    // Other middleware configurations
  }
}

Logging in ASP.NET Core

Logging in ASP.NET Core is a crucial feature for tracking application behavior and errors. It allows developers to record information about the application's execution, which is invaluable for troubleshooting and monitoring. Add Logging Providers: ASP.NET Core provides flexible logging providers, including Console, Debug, EventSource, EventLog, and more, allowing you to configure where your application logs are written. This flexibility ensures that you can tailor your logging strategy to your specific needs.

Example

public class Startup
{
  public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger<Startup> logger)
  {
    logger.LogInformation("Configuring the application.");
    // ...
  }
}

Store Logs in a Text File

One common approach is to store logs in a text file, making it easier to access and analyze application events over time. You can use the File logging provider to achieve this.

Example

public class Program
{
  public static void Main(string[] args)
  {
    CreateHostBuilder(args).Build().Run();
  }
  public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
      .ConfigureLogging((hostingContext, logging) =>
      {
        logging.AddFile("app.log"); // Configure file logging
      })
      .ConfigureWebHostDefaults(webBuilder =>
      {
        webBuilder.UseStartup<Startup>();
      });
}

Create Logs in the Controller

Controllers in ASP.NET Core can create logs to record specific actions and events within the application. You can inject an ILogger into your controllers to enable logging.

Example

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
public class SampleController : ControllerBase
{
  private readonly ILogger<SampleController> _logger;
  public SampleController(ILogger<SampleController> logger)
  {
    _logger = logger;
  }
  public IActionResult Index()
  {
    _logger.LogInformation("Accessed the Index action.");
    return View();
  }
}
Self-paced Membership
  • 24+ Video Courses
  • 825+ Hands-On Labs
  • 400+ Quick Notes
  • 125+ Skill Tests
  • 10+ Interview Q&A Courses
  • 10+ Real-world Projects
  • Career Coaching Sessions
  • Email Support
Upto 60% OFF
Know More
Still have some questions? Let's discuss.
CONTACT US
Accept cookies & close this