Перейти к содержанию

Категория сообщения: какой компонент создал журнал

В отличие от уровня, категория задаётся при создании экземпляра ILogger. Категория записывается в каждое сообщение журнала.
Категория — это объект типа string, так что ей можно задать любое значение, однако по соглашению в категорию помещают полное имя типа, используещего ILogger.
Одним из способов задать категорию будет внедрение ILogger<T> с указанием текущего типа, как это сделано здесь.
Альтернативный вариант — внедрять фабрику ILoggerFactory и задавать категорию явно:

public class RecipeService
{
    private readonly ILogger _log;
    public RecipeService(ILoggerFactory factory)
    {
        _log = factory.CreateLogger("RecipeApp.RecipeService");
    }
}

Еще один вариант — использовать перегруженный фабричный метод:
_log = factory.CreateLogger<RecipeService>();

В этом случае в переменной _log будет не просто ILogger, а ILogger<RecipeService>.

Совет

Если вы не используете собственные категории, предпочтите внедрение ILogger<T> внедрению ILoggerFactory.


Последнее обновление : 7 мая 2023 г.
Дата создания : 20 октября 2022 г.

Комментарии

Комментарии