diff --git a/MediaBrowser.Api/HttpHandlers/PlaybackCheckInHandler.cs b/MediaBrowser.Api/HttpHandlers/PlaybackCheckInHandler.cs index b608d831b3..7e0d27e497 100644 --- a/MediaBrowser.Api/HttpHandlers/PlaybackCheckInHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PlaybackCheckInHandler.cs @@ -66,10 +66,10 @@ namespace MediaBrowser.Api.HttpHandlers await Kernel.UserDataManager.OnPlaybackStopped(user, item, positionTicks, clientType, device).ConfigureAwait(false); } } - + var data = item.GetUserData(user, true); - return DtoBuilder.GetDtoUserItemData(data); + return new DtoBuilder(null).GetDtoUserItemData(data); } /// diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index ee484b85d2..585bfd45d1 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -128,7 +128,7 @@ namespace MediaBrowser.Api // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)); - var result = DtoBuilder.GetDtoBaseItem(item, fields.ToList()).Result; + var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result; return ToOptimizedResult(result); } @@ -147,7 +147,7 @@ namespace MediaBrowser.Api // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)); - var result = DtoBuilder.GetDtoBaseItem(item, fields.ToList()).Result; + var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result; return ToOptimizedResult(result); } @@ -166,7 +166,7 @@ namespace MediaBrowser.Api // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)); - var result = DtoBuilder.GetDtoBaseItem(item, fields.ToList()).Result; + var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result; return ToOptimizedResult(result); } @@ -185,7 +185,7 @@ namespace MediaBrowser.Api // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)); - var result = DtoBuilder.GetDtoBaseItem(item, fields.ToList()).Result; + var result = new DtoBuilder(Logger).GetDtoBaseItem(item, fields.ToList()).Result; return ToOptimizedResult(result); } diff --git a/MediaBrowser.Api/Streaming/BaseHlsPlaylistHandler.cs b/MediaBrowser.Api/Streaming/BaseHlsPlaylistHandler.cs index 94a8f79261..5cb8b7e078 100644 --- a/MediaBrowser.Api/Streaming/BaseHlsPlaylistHandler.cs +++ b/MediaBrowser.Api/Streaming/BaseHlsPlaylistHandler.cs @@ -208,12 +208,12 @@ namespace MediaBrowser.Api.Streaming { try { - Logger.Info("Deleting HLS file {0}", file); + //Logger.Info("Deleting HLS file {0}", file); File.Delete(file); } catch (IOException ex) { - Logger.ErrorException("Error deleting HLS file {0}", ex, file); + //Logger.ErrorException("Error deleting HLS file {0}", ex, file); } } } diff --git a/MediaBrowser.Api/Streaming/BaseProgressiveStreamingHandler.cs b/MediaBrowser.Api/Streaming/BaseProgressiveStreamingHandler.cs index bce48e47bc..91dab31d95 100644 --- a/MediaBrowser.Api/Streaming/BaseProgressiveStreamingHandler.cs +++ b/MediaBrowser.Api/Streaming/BaseProgressiveStreamingHandler.cs @@ -94,7 +94,7 @@ namespace MediaBrowser.Api.Streaming } catch (Exception ex) { - Logger.ErrorException("Error streaming media", ex); + //Logger.ErrorException("Error streaming media", ex); } finally { diff --git a/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs b/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs index 44a1ba10cb..d800a40fee 100644 --- a/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs +++ b/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs @@ -889,7 +889,7 @@ namespace MediaBrowser.Api.Streaming Plugin.Instance.OnTranscodeBeginning(outputPath, TranscodingJobType, process); - Logger.Info(process.StartInfo.FileName + " " + process.StartInfo.Arguments); + //Logger.Info(process.StartInfo.FileName + " " + process.StartInfo.Arguments); var logFilePath = Path.Combine(Kernel.ApplicationPaths.LogDirectoryPath, "ffmpeg-" + Guid.NewGuid() + ".txt"); @@ -904,7 +904,7 @@ namespace MediaBrowser.Api.Streaming } catch (Win32Exception ex) { - Logger.ErrorException("Error starting ffmpeg", ex); + //Logger.ErrorException("Error starting ffmpeg", ex); Plugin.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType); @@ -953,11 +953,11 @@ namespace MediaBrowser.Api.Streaming try { exitCode = process.ExitCode; - Logger.Info("FFMpeg exited with code {0} for {1}", exitCode.Value, outputFilePath); + //Logger.Info("FFMpeg exited with code {0} for {1}", exitCode.Value, outputFilePath); } catch { - Logger.Info("FFMpeg exited with an error for {0}", outputFilePath); + //Logger.Info("FFMpeg exited with an error for {0}", outputFilePath); } process.Dispose(); @@ -966,7 +966,7 @@ namespace MediaBrowser.Api.Streaming if (!exitCode.HasValue || exitCode.Value != 0) { - Logger.Info("Deleting partial stream file(s) {0}", outputFilePath); + //Logger.Info("Deleting partial stream file(s) {0}", outputFilePath); try { @@ -974,12 +974,12 @@ namespace MediaBrowser.Api.Streaming } catch (IOException ex) { - Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, outputFilePath); + //Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, outputFilePath); } } else { - Logger.Info("FFMpeg completed and exited normally for {0}", outputFilePath); + //Logger.Info("FFMpeg completed and exited normally for {0}", outputFilePath); } } diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 795bcda692..0c99b921a6 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; using ServiceStack.ServiceHost; using System; using System.Collections.Generic; @@ -114,7 +115,7 @@ namespace MediaBrowser.Api.UserLibrary return null; } - var dto = await DtoBuilder.GetDtoBaseItem(item, user, fields).ConfigureAwait(false); + var dto = await new DtoBuilder(Logger).GetDtoBaseItem(item, user, fields).ConfigureAwait(false); dto.ChildCount = stub.Item2(); diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 166b2639a3..3cc503184f 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -191,7 +191,9 @@ namespace MediaBrowser.Api.UserLibrary var fields = GetItemFields(request).ToList(); - var returnItems = await Task.WhenAll(pagedItems.Select(i => DtoBuilder.GetDtoBaseItem(i, user, fields))).ConfigureAwait(false); + var dtoBuilder = new DtoBuilder(Logger); + + var returnItems = await Task.WhenAll(pagedItems.Select(i => dtoBuilder.GetDtoBaseItem(i, user, fields))).ConfigureAwait(false); return new ItemsResult { diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index c5d7e471d4..016b294ae6 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -268,7 +268,9 @@ namespace MediaBrowser.Api.UserLibrary var movie = (Movie)item; - var items = movie.SpecialFeatures.Select(i => DtoBuilder.GetDtoBaseItem(item, user, fields)).AsParallel().Select(t => t.Result).ToList(); + var dtoBuilder = new DtoBuilder(Logger); + + var items = movie.SpecialFeatures.Select(i => dtoBuilder.GetDtoBaseItem(item, user, fields)).AsParallel().Select(t => t.Result).ToList(); return ToOptimizedResult(items); } @@ -284,7 +286,9 @@ namespace MediaBrowser.Api.UserLibrary // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var items = item.LocalTrailers.Select(i => DtoBuilder.GetDtoBaseItem(item, user, fields)).AsParallel().Select(t => t.Result).ToList(); + var dtoBuilder = new DtoBuilder(Logger); + + var items = item.LocalTrailers.Select(i => dtoBuilder.GetDtoBaseItem(item, user, fields)).AsParallel().Select(t => t.Result).ToList(); return ToOptimizedResult(items); } @@ -305,7 +309,9 @@ namespace MediaBrowser.Api.UserLibrary // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var result = DtoBuilder.GetDtoBaseItem(item, user, fields).Result; + var dtoBuilder = new DtoBuilder(Logger); + + var result = dtoBuilder.GetDtoBaseItem(item, user, fields).Result; return ToOptimizedResult(result); } diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 79f703e840..c4703a7a02 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -146,7 +146,9 @@ namespace MediaBrowser.Api { var kernel = (Kernel)Kernel; - var result = kernel.Users.OrderBy(u => u.Name).Select(DtoBuilder.GetDtoUser).ToList(); + var dtoBuilder = new DtoBuilder(Logger); + + var result = kernel.Users.OrderBy(u => u.Name).Select(dtoBuilder.GetDtoUser).ToList(); return ToOptimizedResult(result); } @@ -167,7 +169,7 @@ namespace MediaBrowser.Api throw new ResourceNotFoundException("User not found"); } - var result = DtoBuilder.GetDtoUser(user); + var result = new DtoBuilder(Logger).GetDtoUser(user); return ToOptimizedResult(result); } @@ -289,7 +291,7 @@ namespace MediaBrowser.Api var newUser = kernel.UserManager.CreateUser(dtoUser.Name).Result; - var result = DtoBuilder.GetDtoUser(newUser); + var result = new DtoBuilder(Logger).GetDtoUser(newUser); return ToOptimizedResult(result); } diff --git a/MediaBrowser.Common/IO/FileSystem.cs b/MediaBrowser.Common/IO/FileSystem.cs index fde46dd5ba..3d65167bd7 100644 --- a/MediaBrowser.Common/IO/FileSystem.cs +++ b/MediaBrowser.Common/IO/FileSystem.cs @@ -1,8 +1,7 @@ -using System.Collections.Specialized; -using MediaBrowser.Common.Logging; -using MediaBrowser.Common.Win32; +using MediaBrowser.Common.Win32; using System; using System.Collections.Generic; +using System.Collections.Specialized; using System.IO; using System.Runtime.InteropServices; using System.Text; diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs index 2b2063b550..a4ac707494 100644 --- a/MediaBrowser.Common/Kernel/BaseKernel.cs +++ b/MediaBrowser.Common/Kernel/BaseKernel.cs @@ -9,9 +9,6 @@ using MediaBrowser.Common.Serialization; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Logging; using MediaBrowser.Model.System; -using NLog; -using NLog.Config; -using NLog.Targets; using System; using System.Collections.Generic; using System.ComponentModel.Composition; @@ -40,11 +37,6 @@ namespace MediaBrowser.Common.Kernel /// public event EventHandler HasPendingRestartChanged; - /// - /// Notifiies the containing application that a restart has been requested - /// - public event EventHandler ApplicationRestartRequested; - #region ConfigurationUpdated Event /// /// Occurs when [configuration updated]. @@ -341,6 +333,12 @@ namespace MediaBrowser.Common.Kernel /// The logger. protected ILogger Logger { get; private set; } + /// + /// Gets or sets the application host. + /// + /// The application host. + protected IApplicationHost ApplicationHost { get; private set; } + /// /// Gets the assemblies. /// @@ -350,10 +348,17 @@ namespace MediaBrowser.Common.Kernel /// /// Initializes a new instance of the class. /// + /// The app host. /// The iso manager. /// The logger. - protected BaseKernel(IIsoManager isoManager, ILogger logger) + /// isoManager + protected BaseKernel(IApplicationHost appHost, IIsoManager isoManager, ILogger logger) { + if (appHost == null) + { + throw new ArgumentNullException("appHost"); + } + if (isoManager == null) { throw new ArgumentNullException("isoManager"); @@ -363,7 +368,8 @@ namespace MediaBrowser.Common.Kernel { throw new ArgumentNullException("logger"); } - + + ApplicationHost = appHost; IsoManager = isoManager; Logger = logger; } @@ -440,42 +446,11 @@ namespace MediaBrowser.Common.Kernel /// public void ReloadLogger() { - DisposeLogger(); - - LogFilePath = Path.Combine(ApplicationPaths.LogDirectoryPath, KernelContext + "-" + DateTime.Now.Ticks + ".log"); - - var logFile = new FileTarget(); - - logFile.FileName = LogFilePath; - logFile.Layout = "${longdate}, ${level}, ${logger}, ${message}"; - - AddLogTarget(logFile, "ApplicationLogFile"); - + ApplicationHost.ReloadLogger(); + OnLoggerLoaded(); } - /// - /// Adds the log target. - /// - /// The target. - /// The name. - private void AddLogTarget(Target target, string name) - { - var config = LogManager.Configuration; - - config.RemoveTarget(name); - - target.Name = name; - config.AddTarget(name, target); - - var level = Configuration.EnableDebugLevelLogging ? LogLevel.Debug : LogLevel.Info; - - var rule = new LoggingRule("*", level, target); - config.LoggingRules.Add(rule); - - LogManager.Configuration = config; - } - /// /// Uses MEF to locate plugins /// Subclasses can use this to locate types within plugins @@ -588,7 +563,7 @@ namespace MediaBrowser.Common.Kernel foreach (var task in ScheduledTasks) { - task.Initialize(this); + task.Initialize(this, Logger); } // Start-up each plugin @@ -707,23 +682,6 @@ namespace MediaBrowser.Common.Kernel } } - /// - /// Disposes all logger resources - /// - private void DisposeLogger() - { - // Dispose all current loggers - var listeners = Trace.Listeners.OfType().ToList(); - - Trace.Listeners.Clear(); - - foreach (var listener in listeners) - { - listener.Dispose(); - } - - } - /// /// Gets the current application version /// @@ -759,7 +717,7 @@ namespace MediaBrowser.Common.Kernel { Logger.Info("Restarting the application"); - EventHelper.QueueEventIfNotNull(ApplicationRestartRequested, this, EventArgs.Empty, Logger); + ApplicationHost.Restart(); } /// diff --git a/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs b/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs index f431c5463a..11ffa8d6c0 100644 --- a/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs +++ b/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs @@ -1,12 +1,11 @@ -using MediaBrowser.Common.Logging; -using MediaBrowser.Common.Net; +using MediaBrowser.Common.Net; +using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Net.WebSockets; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Logging; namespace MediaBrowser.Common.Kernel { diff --git a/MediaBrowser.Common/Kernel/IApplicationHost.cs b/MediaBrowser.Common/Kernel/IApplicationHost.cs new file mode 100644 index 0000000000..c1b63c2613 --- /dev/null +++ b/MediaBrowser.Common/Kernel/IApplicationHost.cs @@ -0,0 +1,19 @@ + +namespace MediaBrowser.Common.Kernel +{ + /// + /// An interface to be implemented by the applications hosting a kernel + /// + public interface IApplicationHost + { + /// + /// Restarts this instance. + /// + void Restart(); + + /// + /// Reloads the logger. + /// + void ReloadLogger(); + } +} diff --git a/MediaBrowser.Common/Kernel/IKernel.cs b/MediaBrowser.Common/Kernel/IKernel.cs index 5358f3ab09..c0e650fc77 100644 --- a/MediaBrowser.Common/Kernel/IKernel.cs +++ b/MediaBrowser.Common/Kernel/IKernel.cs @@ -1,6 +1,4 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Common.Net; -using MediaBrowser.Common.Net.Handlers; +using MediaBrowser.Common.Net; using MediaBrowser.Common.Plugins; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Common.Serialization; @@ -18,11 +16,6 @@ namespace MediaBrowser.Common.Kernel /// public interface IKernel { - /// - /// Occurs when [application restart requested]. - /// - event EventHandler ApplicationRestartRequested; - /// /// Gets the application paths. /// diff --git a/MediaBrowser.Common/Logging/LogManager.cs b/MediaBrowser.Common/Logging/LogManager.cs deleted file mode 100644 index 825f04440f..0000000000 --- a/MediaBrowser.Common/Logging/LogManager.cs +++ /dev/null @@ -1,20 +0,0 @@ -using MediaBrowser.Model.Logging; - -namespace MediaBrowser.Common.Logging -{ - /// - /// Class LogManager - /// - public static class LogManager - { - /// - /// Gets the logger. - /// - /// The name. - /// ILogger. - public static ILogger GetLogger(string name) - { - return new NLogger(name); - } - } -} diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj index b80cd8e84d..b806df856b 100644 --- a/MediaBrowser.Common/MediaBrowser.Common.csproj +++ b/MediaBrowser.Common/MediaBrowser.Common.csproj @@ -114,8 +114,6 @@ - - @@ -142,16 +140,10 @@ + - - - - LogWindow.xaml - - - @@ -201,7 +193,6 @@ - @@ -228,12 +219,6 @@ - - - Designer - MSBuild:Compile - - @@ -251,6 +236,7 @@ + + \ No newline at end of file diff --git a/MediaBrowser.Common/Logging/NLogger.cs b/MediaBrowser.Logging.NLog/NLogger.cs similarity index 98% rename from MediaBrowser.Common/Logging/NLogger.cs rename to MediaBrowser.Logging.NLog/NLogger.cs index 584c5616bf..b3aedbf7c3 100644 --- a/MediaBrowser.Common/Logging/NLogger.cs +++ b/MediaBrowser.Logging.NLog/NLogger.cs @@ -2,12 +2,12 @@ using System; using System.Text; -namespace MediaBrowser.Common.Logging +namespace MediaBrowser.Logging.Nlog { /// /// Class NLogger /// - internal class NLogger : ILogger + public class NLogger : ILogger { /// /// The _logger diff --git a/MediaBrowser.Logging.NLog/NlogManager.cs b/MediaBrowser.Logging.NLog/NlogManager.cs new file mode 100644 index 0000000000..4d6aeadd88 --- /dev/null +++ b/MediaBrowser.Logging.NLog/NlogManager.cs @@ -0,0 +1,50 @@ +using NLog; +using NLog.Config; +using NLog.Targets; + +namespace MediaBrowser.Logging.Nlog +{ + /// + /// Class NlogManager + /// + public static class NlogManager + { + /// + /// Adds the file target. + /// + /// The path. + /// if set to true [enable debug logging]. + public static void AddFileTarget(string path, bool enableDebugLogging) + { + var logFile = new FileTarget(); + + logFile.FileName = path; + logFile.Layout = "${longdate}, ${level}, ${logger}, ${message}"; + + AddLogTarget(logFile, "ApplicationLogFile", enableDebugLogging); + } + + /// + /// Adds the log target. + /// + /// The target. + /// The name. + /// if set to true [enable debug logging]. + private static void AddLogTarget(Target target, string name, bool enableDebugLogging) + { + var config = LogManager.Configuration; + + config.RemoveTarget(name); + + target.Name = name; + config.AddTarget(name, target); + + var level = enableDebugLogging ? LogLevel.Debug : LogLevel.Info; + + var rule = new LoggingRule("*", level, target); + config.LoggingRules.Add(rule); + + LogManager.Configuration = config; + } + } +} diff --git a/MediaBrowser.Logging.NLog/Properties/AssemblyInfo.cs b/MediaBrowser.Logging.NLog/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..35e1002812 --- /dev/null +++ b/MediaBrowser.Logging.NLog/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MediaBrowser.Logging.NLog")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MediaBrowser.Logging.NLog")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("095763bf-68a9-4d89-ad01-d0e3c1f5c11f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MediaBrowser.Logging.NLog/packages.config b/MediaBrowser.Logging.NLog/packages.config new file mode 100644 index 0000000000..ede36938cc --- /dev/null +++ b/MediaBrowser.Logging.NLog/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/MediaBrowser.Plugins.MpcHc/MpcHcMediaPlayer.cs b/MediaBrowser.Plugins.MpcHc/MpcHcMediaPlayer.cs index baad046dd1..e2d5398e4c 100644 --- a/MediaBrowser.Plugins.MpcHc/MpcHcMediaPlayer.cs +++ b/MediaBrowser.Plugins.MpcHc/MpcHcMediaPlayer.cs @@ -1,6 +1,6 @@ -using MediaBrowser.Common.Logging; -using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; using MediaBrowser.UI.Configuration; using MediaBrowser.UI.Controller; using MediaBrowser.UI.Playback; @@ -32,6 +32,12 @@ namespace MediaBrowser.Plugins.MpcHc /// private SemaphoreSlim MpcHttpInterfaceResourcePool = new SemaphoreSlim(1, 1); + [ImportingConstructor] + public MpcHcMediaPlayer([Import("logger")] ILogger logger) + : base(logger) + { + } + /// /// Gets or sets the HTTP interface cancellation token. /// diff --git a/MediaBrowser.Plugins.Tmt5/Tmt5MediaPlayer.cs b/MediaBrowser.Plugins.Tmt5/Tmt5MediaPlayer.cs index fc6b4e37f2..2643eaa445 100644 --- a/MediaBrowser.Plugins.Tmt5/Tmt5MediaPlayer.cs +++ b/MediaBrowser.Plugins.Tmt5/Tmt5MediaPlayer.cs @@ -1,6 +1,6 @@ using MediaBrowser.Common.IO; -using MediaBrowser.Common.Logging; using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Logging; using MediaBrowser.UI.Configuration; using MediaBrowser.UI.Playback; using MediaBrowser.UI.Playback.ExternalPlayer; @@ -21,6 +21,12 @@ namespace MediaBrowser.Plugins.Tmt5 [Export(typeof(BaseMediaPlayer))] public class Tmt5MediaPlayer : BaseExternalPlayer { + [ImportingConstructor] + public Tmt5MediaPlayer([Import("logger")] ILogger logger) + : base(logger) + { + } + /// /// Gets the name. /// diff --git a/MediaBrowser.Server.Sqlite/SQLiteRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteRepository.cs index 09484d68e5..1caae970ed 100644 --- a/MediaBrowser.Server.Sqlite/SQLiteRepository.cs +++ b/MediaBrowser.Server.Sqlite/SQLiteRepository.cs @@ -1,4 +1,3 @@ -using MediaBrowser.Common.Logging; using MediaBrowser.Model.Logging; using System; using System.Collections.Concurrent; diff --git a/MediaBrowser.Server.Uninstall/MediaBrowser.Server.Uninstall.csproj b/MediaBrowser.Server.Uninstall/MediaBrowser.Server.Uninstall.csproj index bce0138aff..3c51ce6a28 100644 --- a/MediaBrowser.Server.Uninstall/MediaBrowser.Server.Uninstall.csproj +++ b/MediaBrowser.Server.Uninstall/MediaBrowser.Server.Uninstall.csproj @@ -44,9 +44,6 @@ - - ClickOnceHelper.cs - @@ -54,6 +51,12 @@ + + + {9142eefa-7570-41e1-bfcc-468bb571af2f} + MediaBrowser.Common + +