public DefaultLogManager(IDependencyResolver dependencyResolver = null) { dependencyResolver = dependencyResolver ?? Locator.Current; loggerCache = new MemoizingMRUCache <Type, IFullLogger>((type, _) => { var ret = dependencyResolver.GetService <ILogger>(); if (ret == null) { throw new Exception("Couldn't find an ILogger. This should never happen, your dependency resolver is probably broken."); } return(new WrappingFullLogger(ret, type)); }, 64); }
public DefaultLogManager(IDependencyResolver dependencyResolver = null) { Func <Type, object, IFullLogger> calculationFunc = null; dependencyResolver = dependencyResolver ?? Locator.Current; if (calculationFunc == null) { calculationFunc = delegate(Type type, object _) { ILogger service = dependencyResolver.GetService <ILogger>(null); if (service == null) { throw new Exception("Couldn't find an ILogger. This should never happen, your dependency resolver is probably broken."); } return(new WrappingFullLogger(service, type)); }; } this.loggerCache = new MemoizingMRUCache <Type, IFullLogger>(calculationFunc, 0x40, null); }