Конфигурация Log4Net с приложением .NET Core - PullRequest
0 голосов
/ 13 июня 2018

Мне нужно использовать log4net в новом приложении .NET Core, которое ссылается на некоторые только что написанные сборки, которые используют log4net.Я искал, но во всех примерах FileInfo передается log4net.Config.XmlConfigurator.Configure, но при использовании последней версии запрашивается первый параметр типа ILoggerRepository repository

Что мне передать?

Мой код:

   public static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json");

        var configuration = builder.Build();

        ContainerConfig.RegisterDependencies(configuration);
        MappingConfig.RegisterMapping();


        var fileInfo = new FileInfo(@"\config.log4net");

        log4net.Config.XmlConfigurator.Configure(null, fileInfo);



        var core = ContainerWrapper.Container.GetInstance<ICore>();

        core.StartAsync().Wait();

        Console.Write("Press a key to exit");
        Console.ReadLine();
    }

Но при null происходит сбой

Есть предложения?

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете получить значение по умолчанию repository с помощью приведенного ниже оператора
и передать его в качестве аргумента метода Configure.

ILoggerRepository repository = log4net.LogManager.GetRepository(Assembly.GetCallingAssembly());

В зависимости от настроек может потребоватьсяиспользовать Assembly.GetExecutingAssembly() вместо.

...