ASP.NET Core поддържа логване на API за широк спектър от вградени и външни доставчици на логване. Логването е съществена част от нашето ежедневно развитие.
Нека първо разгледаме визуализациите на конзолата, както следва:
Добавете доставчик на логове
Доставчиците на логове показват или съхраняват логове. Например, доставчик на конзола показва логовете на конзолата, а доставчикът на Azure Application Insights съхранява тези логове в Azure Application Insights. Логовете могат да се изпращат до няколко дестинации чрез добавяне на няколко доставчици.
Редактирайте програмния файл по следния начин:
Създаване на лог (инжекция в конструктор)
Следният пример с контролер създава логове на всички нива.
Ниво на лог | Покажи текст | Цвят на преден план | Фонов цвят | Проследяване | TCE | Сив | Черно | Отстраняване на грешки | dbug | Сив | Черно | Информация | Информация | Тъмнозелено | Черно | Предупреждение | предупреждение | Жълто | Черно | Грешка | провал | Червено | Черно | Критично | критичен удар | Бял | Червено |
Референтни връзки:Входът към хиперлинк е видим.
Стартирай проекта със следната команда и можеш да видиш изходния лог през конзолата.
Посетете локалния URL, за да видите резултата.
Ниво на контролен лог
Ние неНе искам да виждам конзолата да изкарва толкова много безсмислени информационни логове, просто искам да видя важните дневници, които записах, какво да правя?
1: Контролирайте нивото на лог през конфигурационния файл и редактирайте appsettings.json файла по следния начин:
Този JSON ще създаде 6 правила за филтриране: 1 за доставчици за дебъгване, 4 за конзолни доставчици и 1 за всички доставчици. Когато създавате обект ILogger, изберете правило за всеки доставчик.
2: Контрол на паролата (без тестване)
Вторият AddFilter използва името на типа, за да посочи доставчика на дебъг. Първият AddFilter се прилага за всички доставчици, тъй като не уточнява типа доставчик.
Минимално ниво по подразбиране
Настройката за минимално ниво влиза в сила само ако правилата в конфигурацията или кода не се прилагат за даден доставчик и категория. Следният пример показва как да се зададе минималното ниво:
Ако минималното ниво не е изрично зададено, по подразбиране стойността е Информация, която представляваЛоговете за проследяване и отстраняване на грешки ще бъдат игнорирани。
Референтни връзки:Входът към хиперлинк е видим.
Използвайте Autofac за инжектиране на ILogger логове чрез свойства
Обикновено инжектираме лог услуги чрез конструктори, как инжектираме чрез атрибути? Как иначе да хоствам ILogger към Autofac?
В метода за редактиране при стартиране ConfigureServices, както следва:
Следните четири важни изречения:
Не забравяйте да го добавитеloggerFactory.AddConsole();Този ред код, иначе конзолата щеНищо не е изходно, и Autofac Hosting, конфигурационният файл ще бъде невалиден.
Код на контролера:
Достъпете URL адреса, dotnet run стартира проекта и конзолният изход е следният:
Как да инжектирате логове ILogger в други класове чрез свойства.
(Край)
|