【问题标题】:Writing logs in console in a .NET Framework 4.6 Console Application在 .NET Framework 4.6 控制台应用程序中的控制台中写入日志
【发布时间】:2020-02-28 22:17:44
【问题描述】:

我尝试了很多方法,但无法在 .NET Framework 4.6 控制台应用程序的控制台中写入日志。我在 Stackoverflow 上搜索并找到了 2 个可能的解决方案,但都不起作用:

  1. 在 ConfigureDI 中注册为

    services.AddLogging(configure => configure.AddConsole());

这第一个可能的解决方案我什至无法测试

ILoggingBuilder 不包含 AddConsole [...] 的定义

  1. 在 ConfigureDI 中注册为

    services.AddSingleton(); services.AddSingleton(typeof(ILogger), typeof(Logger));

我正在使用 ILogger 和依赖注入,如下所示:

public class MyApplication
    {
        private readonly ILogger<MyService> _logger;
        public MyApplication(ILogger<MyService> logger)
        {
            _logger = logger;

        }
        public void Run()
        {    
            _logger.LogInformation("Application Started at {dateTime}", DateTime.UtcNow);             
             //...
        }
    }

我的 Program.cs 是这样的:

public static class Program
    {

        public static void Main(string[] args)
        {
            var services = new ServiceCollection();

            DependencyInjectionConfiguration.ConfigureDI(services);

            var serviceProvider = services.BuildServiceProvider();

            var receiver = serviceProvider.GetService<IReceiver>();

            receiver.MyServiceMethod();
        }
    }

而我的 ConfigureDI 方法是这样的:

public static class DependencyInjectionConfiguration
    {
        public static void ConfigureDI(IServiceCollection services)
        {
            services.AddScoped<IReceiver, Receiver>();
            services.AddHttpClient<MyClient>();
            services.AddScoped<HelperXml>();
            //services.AddSingleton<ILoggerFactory, LoggerFactory>();
            //services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
            //services.AddLogging(configure => configure.AddConsole());
        }
    }

有人知道这里出了什么问题吗?另外:在txt文件上写也不错……

谢谢

【问题讨论】:

    标签: logging dependency-injection .net-4.6


    【解决方案1】:

    如果您希望使用 ILogger(Microsoft.Extensions.Logging 的一部分),则需要以 .NET Standard 框架为目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多