内容目录
NuGet 包
ILogger 和 ILoggerFactory 接口位于 Microsoft.Extensions.Logging.Abstractions 中,其默认实现位于 Microsoft.Extensions.Logging 中。
日志类别
有两种指定方式,一种是类对象,一种是手动创建。
创建 ILogger 对象后,将为其指定“类别” 。 该类别包含在由此 ILogger 实例创建的每条日志消息中。 类别可以是任何字符串,但约定需使用类名,例如“TodoApi.Controllers.TodoController”。
使用 ILogger
public class TodoController : Controller
{
private readonly ITodoRepository _todoRepository;
private readonly ILogger _logger;
public TodoController(ITodoRepository todoRepository,
ILogger<TodoController> logger)
{
_todoRepository = todoRepository;
_logger = logger;
}
要显式指定类别,请调用 ILoggerFactory.CreateLogger:
public class TodoController : Controller
{
private readonly ITodoRepository _todoRepository;
private readonly ILogger _logger;
public TodoController(ITodoRepository todoRepository,
ILoggerFactory logger)
{
_todoRepository = todoRepository;
_logger = logger.CreateLogger("TodoApiSample.Controllers.TodoController");
}
文章评论