using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
namespace MyConsoleApp2
{
class Program
{
static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
//IOC容器
ServiceCollection services = new ServiceCollection();
//注册服务
services.AddTransient<IFly, Pig>();
//注册服务
services.AddLogging(logbuilder =>
{
logbuilder.AddConfiguration(configuration.GetSection("Logging"));
logbuilder.AddConsole();
});
var provider = services.BuildServiceProvider();
var fly = provider.GetService<IFly>();
fly.Fly();
provider.GetService<ILoggerFactory>();
Console.WriteLine("Hello World!");
}
}
public interface IFly
{
void Fly();
}
public class Pig : IFly
{
private ILogger<Pig> logger = null;
public Pig(ILoggerFactory loggerFactory)
{
logger = loggerFactory.CreateLogger<Pig>();
}
public void Fly()
{
logger.LogInformation("这是console的日志....");
Console.WriteLine("风口来了,猪都会飞");
}
}
}