Autofac register an instance for a interface for singleton
一个console app调用Core
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
builder.AddSerilog();
});
builder.RegisterInstance(loggerFactory)
.As<ILoggerFactory>()
.SingleInstance();
}
var core = serviceProvider.GetRequiredService<Core>();
logger?.Information($"程序开始运行");
core.Test("Hello World!");
封装一个不依赖serilog的日志组件Core
public class Core
{
private readonly ILogger _logger;
public Core(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger(nameof(Core));
}
public void Test(string content)
{
_logger.LogInformation($"日志测试: {content}");
}
}