Skip to content

Latest commit

 

History

History

ConsoleWithDependencyInjection

  1. Add reference packages

    dotnet add package Microsoft.Extensions.DependencyInjection dotnet add package Microsoft.Extensions.Logging dotnet add package Microsoft.Extensions.Logging.Console

  2. Add log reference in constructor

public class DemoClass
{
    private readonly ILogger<DemoClass> _logger;

    public DemoClass(ILogger<DemoClass> logger)
    {
        _logger = logger;
    }

    public void TestLog(string log)
    {
        this._logger.LogInformation(log);
    }
}
  1. Build services collection
        static void Main(string[] args)
        {
            var serviceCollection = new ServiceCollection();
            ConfigureServices(serviceCollection);
            var serviceProvider = serviceCollection.BuildServiceProvider();

            var demoClass = serviceProvider.GetService<DemoClass>();
            demoClass.TestLog("Hello");
        }

        private static void ConfigureServices(IServiceCollection services)
        {
            services.AddLogging(configure => configure.AddConsole())
                .AddTransient<DemoClass>();

            services.Configure<LoggerFilterOptions>(options => options.MinLevel = LogLevel.Debug);
        }
  1. Control logger level

You can set logger level by

services.Configure<LoggerFilterOptions>(options => options.MinLevel = LogLevel.Debug);

or get level from configuration, see lastest file:

Program.cs

Reference