Framework Introduction In the previous .NET, Microsoft has not provided a decent logging framework. Some of the currently available frameworks, such as Log4Net, NLog, and CommonLogging, are more or less difficult to use and cannot be compared with Java's SLF4J. However, in the new version of ASP.NET 5, it is very powerful. The Microsoft.Framework.Logging framework set provided by Microsoft is the .NET version of SLF4J, providing corresponding interfaces, and other third-party components can implement their own implementations based on the interfaces. ILoggerFactory Interface The ILoggerFactory interface is the entry point for logs. You can get an instance of this interface through dependency injection in the system, and create a logger ILogger to record logs based on this example. The example is as follows: var factory = ServiceProvider.GetRequiredService Alternatively, you can also get the above example from the loggerfactory parameter in the Configure method of Startup.cs. The definition of the ILoggerFactory interface is as follows:
In the implementation of this interface, we can set the minimum record base of the log, the categories are as follows
You can also add a third-party provider, such as a console version:
Then create a logger instance through the CreateLogger method, and then record the log. ILoggerProvider and ILogger All third-party implementations need to implement the ILoggerProvider interface and the ILogger interface. The interface is very simple, which is to implement the method of creating the ILogger interface. The code is as follows:
The implementation of ILogger is relatively simple. In addition to implementing the general logging method, it also needs to implement a log level judgment method and a scope creation method. The interface definition is as follows:
After implementing the above two interfaces, you can add the provider to the instance through the factory's AddProvider method to achieve the purpose of logging. Currently, ASP.NET 5 implements four logging providers by default, namely: Console, NLog, Serilog, and Trace. When registering these providers, you can use extension methods. The examples are as follows:
Extension methods of ILogger To facilitate logging, Microsoft has defined six extension methods for each of the six levels of logging in Microsoft.Framework.Logging.LoggerExtensions. The examples are as follows:
So when using it, we can use methods like LogDebug() and LogError() to quickly record logs. In addition, this class also defines two extension methods for the three levels of Warning, Error, and Critical, as shown below:
Some of these extension methods are probably invincible when used. Summarize Through the interface-based programming mechanism and DI dependency injection mechanism, we can easily implement the extension of the third-party log provider, so as to record the logs to any place we want, such as NoSQL databases such as MongoDB. |
<<: Interpreting ASP.NET 5 & MVC6 Series (8): Session and Caching
>>: Interpreting ASP.NET 5 & MVC6 Series (10): Controller and Action
I have been engaged in community marketing for th...
Checking on someone? Looking for someone due to a...
November 20, 2022 The 22nd FIFA World Cup opens Q...
The Hualong Cave Site Academic Seminar was held i...
The fission gameplay template is important, but w...
Recently, Kuaishou officially released the stream...
The World Health Organization once proposed that ...
What is a good advertisement? Everyone has a diff...
1. What is a blind box? A blind box refers to a b...
Youzi WeChat video account novel monetization pro...
Tik Tok, Xiaohongshu, Zhihu, and Video Account ar...
On September 6, at the annual working meeting of ...
Audit expert: Wang Linyu Deputy Chief Physician, ...
Most domestic companies basically have their own ...
"The world is just an hourglass of memories,...