.NET Logging Done Right: An Opinionated Approach Using Serilog
Establishing a foundational framework for logging can save hours in troubleshooting and provide valuable insights to both utilization and performance within all of your applications. In this course, .NET Logging Done Right: An Opinionated Approach Using Serilog, you will learn about 4 primary "things" (usage, performance, errors, and diagnostics) to log and how to log them.
More
You will also learn how to globally write these log entries without needing to inject logging code everywhere in an application – so developers can focus on business logic, not logging code. Global logging will be shown with all flavors of ASP.NET, WPF applications, WCF services, and TypeScript/JavaScript applications. Lastly, you will see techniques for searching, exploring, and visualizing log entries that you will have written to both SQL Server and to Elasticsearch to gain insight into the application, its usage, and how it's performing. By the end this course, you’ll know how to create a great logging framework that will provide huge benefits to you and many other people who have a stake in your applications
Watch Online .NET Logging Done Right: An Opinionated Approach Using Serilog
# | Title | Duration |
---|---|---|
1 | Course Overview | 01:45 |
2 | Define Goals and Objectives, Introduce Serilog, Outline Course | 09:52 |
3 | Introduction: What to Log and How to Log It | 05:08 |
4 | Create the Global Logger | 03:31 |
5 | Add a Performance Tracker | 01:42 |
6 | Logging with a Console App | 05:37 |
7 | Discussion: Exception Handling and Data Access | 01:20 |
8 | Data Access Before Custom Exception Handling | 03:43 |
9 | Create an ADO.NET Stored Procedure Wrapper | 02:00 |
10 | Create a Dapper Extension Method | 01:29 |
11 | Create an Entity Framework Command Interceptor | 02:06 |
12 | Verifying the Custom Data Access Exception Handling | 03:41 |
13 | Add the Procedure Name and Exception Method to Top Level of Log Entry | 02:10 |
14 | Summary | 00:26 |
15 | Introduction and Approach | 03:59 |
16 | Utility Methods: Data to Log | 06:29 |
17 | Performance Logging: Web Forms | 06:13 |
18 | Performance Logging: MVC | 04:03 |
19 | Utility Methods: Web Logging Methods | 01:38 |
20 | Error Handling: Web Forms | 09:25 |
21 | Error Handling: MVC | 07:10 |
22 | Usage and Diagnostics: Web Forms | 02:38 |
23 | Usage and Diagnostics: MVC | 02:52 |
24 | Summary | 00:38 |
25 | Introduction and Approach | 05:14 |
26 | Review of Existing WebAPI Project | 10:47 |
27 | Performance (and Usage) Logging | 07:12 |
28 | Exception Handling and Logging | 10:42 |
29 | Summary | 00:43 |
30 | Introduction and Approach | 05:21 |
31 | Introducing a JavaScript Page on a MVC Website | 04:24 |
32 | Implementing a Logging API | 03:06 |
33 | Instrumenting JavaScript Code for Logging | 06:30 |
34 | Introducing the Angular 4 App | 10:31 |
35 | Instrumenting the Angular 4 App for Logging | 09:40 |
36 | Summary | 01:05 |
37 | Introduction and Approach | 02:39 |
38 | Introducing the WPF and WCF Applications | 04:52 |
39 | Applying Logging to WPF | 07:51 |
40 | Applying Logging to WCF Using Behaviors and Attributes | 13:27 |
41 | Executing the Apps and Reviewing the Logs | 05:56 |
42 | Summary | 00:54 |
43 | Introduction | 04:15 |
44 | Demo Approach | 01:51 |
45 | MVC App: Running the Existing Code | 02:02 |
46 | MVC App: Existing Code Walkthrough | 05:42 |
47 | API: Running the Existing Code | 01:51 |
48 | API: Existing Code Walkthrough | 03:44 |
49 | Building the Utility Logging Code | 06:43 |
50 | Ad-hoc Usage and Diagnostic Logging | 05:41 |
51 | Filter-based Performance Logging | 06:26 |
52 | MVC Exception Logging with Middleware | 05:09 |
53 | API Exception Logging with Middleware | 04:57 |
54 | Summary | 01:09 |
55 | Logging Goals and Sink Options | 08:41 |
56 | Writing to a SQL Server Sink and Verifying Entries | 07:42 |
57 | Using a Custom Web Viewer to Review Log Entries | 04:58 |
58 | Using an SSRS Report as a Dashboard of Sorts | 02:21 |
59 | ELK Stack Intro and Hosting It in a Docker Image | 05:05 |
60 | Writing to an Elasticsearch and Verifying Entries | 03:59 |
61 | Configuring Index Patterns with Kibana | 01:30 |
62 | Log 'Discovery' with Kibana | 04:09 |
63 | Log 'Visualization' and 'Dashboards' with Kibana | 09:10 |
64 | Changing an Analyzed Field in Kibana | 03:28 |
65 | Summary | 01:38 |