using NLog; using Ninject; using NzbDrone.Common; using NzbDrone.Providers; namespace NzbDrone { public static class CentralDispatch { private static StandardKernel _kernel; private static readonly Logger Logger = LogManager.GetLogger("Host.CentralDispatch"); static CentralDispatch() { _kernel = new StandardKernel(); BindKernel(); InitilizeApp(); } public static StandardKernel Kernel { get { return _kernel; } } private static void BindKernel() { _kernel = new StandardKernel(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); _kernel.Bind().ToSelf().InSingletonScope(); } private static void InitilizeApp() { LogConfiguration.RegisterFileLogger("nzbdrone.log"); LogConfiguration.RegisterConsoleLogger(LogLevel.Debug); LogConfiguration.RegisterUdpLogger(); LogConfiguration.RegisterExceptioneer(); LogConfiguration.Reload(); Logger.Info("Start-up Path:'{0}'", _kernel.Get().ApplicationPath); } } }