If there is one topic that every single .NET developer needs to be proficient at, it's Logging. Logging is fundamental to every application that wants to run reliably in production. From APIs, and web apps, to Desktop apps and mobile apps or even games, logging should be in place to ensure you have the right information you need to know what is going on in your system. Logging will be crucial when something inevitably goes wrong and you need to troubleshoot it. In modern .NET, we are blessed with an excellent built-in logger, but it is also essential to be proficient in Serilog, the most popular logging library. In this course, Nick will translate years of valuable logging knowledge gained in the field, working on real projects so you can follow the path of success.
Welcome (1:31)
What will you learn in this course? (1:18)
Who is the course for and prerequisites (0:48)
What is Logging? (1:58)
The simplest log entry (1:48)
Log categories (1:39)
Log Levels (4:46)
Log providers (destinations) (2:25)
Section recap (0:34)
The modern .NET Logger (3:03)
The log methods (2:55)
Why simple logging isn’t good enough (2:11)
What is Structured Logging? (1:27)
The message template (1:38)
Log entry parameters (2:31)
Understanding the Log Category (2:11)
Working with the Log Level (5:20)
The log event id (2:49)
Section recap (0:54)
The logging packages (5:27)
Host vs non-host console app (3:52)
Customizing the loggers and providers (3:09)
Log category configuration (4:32)
Dealing with exceptions (1:52)
What are Log filters? (4:03)
Section recap (0:50)
What is a provider? (1:14)
Built-in providers (1:59)
Using the Application Insights provider in ASP.NET Core (5:01)
Using the Application Insights provider in a console app (4:28)
Editing registered providers (1:44)
Creating our own logger provider (3:18)
Section recap (0:47)
Log message template formatting (2:08)
Dealing with complex objects (2:55)
Log scopes (4:43)
Checking for enabled log levels (3:26)
Timed log entries (6:55)
Changing the log level during runtime (3:51)
Section recap (1:07)
What is Serilog? (2:20)
Creating a Serilog Logger (2:26)
The concept of Sinks (2:46)
The static Serilog logger (1:35)
Simple Logger Dependency Injection (2:04)
Integrating with the Microsoft Logger (2:17)
File-based configuration (2:38)
Log enrichment (2:15)
Integrating with Application Insights (2:32)
Dealing with Structured Data (3:09)
Transforming Structured Data (1:28)
Manually enriching logs (2:05)
Timed Operations (2:51)
Masking sensitive logs (3:06)
Asynchronous processing (2:31)
Creating your own Sink (3:29)
Section recap (1:11)
Why does it matter? (1:42)
The LoggerMessage.Define method (6:06)
The logging source generator (4:07)
Section recap (0:38)
What is monitoring? (1:18)
Alerting in Application Insights (1:51)
Error-based alerts (5:23)
Query-based alerts (3:34)
Section recap (0:35)
Course conclusion (0:26)
Course Info
Lifetime access
Add to Cart
Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.
He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.
Nick creates free content on YouTube and is the host of the Keep Coding Podcast.
More courses by Nick Chapsas© 2023 Dometrain. All rights reserved.