Я пытаюсь создать запись журнала с помощью NLog через IoC в своем действии контроллера. Следуя инструкции https://davidsiew.wordpress.com/2013/08/07/castle-windsor-nlog-integration/, я обнаружил, что мне нужно изменить строку в классе MyWindsorInstaller.Источник для этого урока: https://github.com/DavidSSL/CastleWindsorWithNlog?source=c
Вместо этого:
container.AddFacility<LoggingFacility>(f => f.LogUsing(LoggerImplementation.NLog).WithConfig("NLog.config"));
Мне нужно использовать ЭТО:
container.AddFacility<LoggingFacility>(f => f.LogUsing<NLogLoggerFactory> ().WithConfig("NLog.config"));
Здесь NLogLoggerFactory - это класс, который реализует Castle.Core.Logging. Интерфейс ILoggerFactory , теперь мне нужно добавить реализацию.На данный момент это выглядит так:
using Castle.Core.Logging;
public class NLogLoggerFactory : ILoggerFactory
{
private ILogger logger = NullLogger.Instance;
public ILogger Create(Type type)
{
throw new NotImplementedException();
}
public ILogger Create(string name)
{
throw new NotImplementedException();
}
public ILogger Create(Type type, LoggerLevel level)
{
throw new NotImplementedException();
}
public ILogger Create(string name, LoggerLevel level)
{
throw new NotImplementedException();
}
// ...
}
Но почему у него есть 4 различных метода Create ()?Конечно, это потому, что интерфейс имеет это.Но я не уверен, что будет дальше.Если я попытаюсь инициализировать Nlog logger, он не позволит мне, потому что NLog не имеет требуемого возвращаемого типа.Поэтому мне интересно, может быть, у кого-то есть какие-то советы, или, может быть, примеры этой реализации?