aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-02-21 15:26:35 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-02-21 15:26:55 -0500
commitab1065a567151fd45fcf4698cd7d18708b94e35f (patch)
tree1863297fbd2966ceea85bc2a6c1991c5bab2c589
parent4019b9260bc1bcf23adb856cbd2b9857575fd08f (diff)
removed static logger
-rw-r--r--MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs12
-rw-r--r--MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs14
-rw-r--r--MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs12
-rw-r--r--MediaBrowser.Common/Events/EventHelper.cs14
-rw-r--r--MediaBrowser.Common/IO/FileSystem.cs2
-rw-r--r--MediaBrowser.Common/Kernel/BaseKernel.cs6
-rw-r--r--MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs26
-rw-r--r--MediaBrowser.Common/Logging/Logger.cs89
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj1
-rw-r--r--MediaBrowser.Common/Plugins/BasePlugin.cs12
-rw-r--r--MediaBrowser.Common/Plugins/IPlugin.cs3
-rw-r--r--MediaBrowser.Common/Serialization/XmlSerializer.cs13
-rw-r--r--MediaBrowser.Controller/Drawing/ImageHeader.cs6
-rw-r--r--MediaBrowser.Controller/Drawing/ImageManager.cs2
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs14
-rw-r--r--MediaBrowser.Controller/Entities/CollectionFolder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs38
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs4
-rw-r--r--MediaBrowser.Controller/Entities/User.cs6
-rw-r--r--MediaBrowser.Controller/IO/DirectoryWatchers.cs9
-rw-r--r--MediaBrowser.Controller/IO/FileData.cs8
-rw-r--r--MediaBrowser.Controller/IO/FileSystemManager.cs2
-rw-r--r--MediaBrowser.Controller/Library/Profiler.cs13
-rw-r--r--MediaBrowser.Controller/Localization/LocalizedStrings.cs13
-rw-r--r--MediaBrowser.Controller/Providers/BaseImageEnhancer.cs9
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs15
-rw-r--r--MediaBrowser.Controller/Providers/FolderProviderFromXml.cs4
-rw-r--r--MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs4
-rw-r--r--MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs2
-rw-r--r--MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs10
-rw-r--r--MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs2
-rw-r--r--MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs15
-rw-r--r--MediaBrowser.Controller/Resolvers/TV/TVUtils.cs50
-rw-r--r--MediaBrowser.IsoMounter/MyPfmFileMountUi.cs14
-rw-r--r--MediaBrowser.IsoMounter/PismoIsoManager.cs13
-rw-r--r--MediaBrowser.Server.Sqlite/SQLiteDisplayPreferencesRepository.cs13
-rw-r--r--MediaBrowser.Server.Sqlite/SQLiteItemRepository.cs21
-rw-r--r--MediaBrowser.Server.Sqlite/SQLiteRepository.cs31
-rw-r--r--MediaBrowser.Server.Sqlite/SQLiteUserDataRepository.cs13
-rw-r--r--MediaBrowser.Server.Sqlite/SQLiteUserRepository.cs11
-rw-r--r--MediaBrowser.ServerApplication/App.xaml.cs2
-rw-r--r--MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs11
-rw-r--r--MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs12
-rw-r--r--MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs11
-rw-r--r--MediaBrowser.ServerApplication/MainWindow.xaml.cs39
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs12
46 files changed, 424 insertions, 211 deletions
diff --git a/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs b/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs
index 335b77e0f..e873facb1 100644
--- a/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs
+++ b/MediaBrowser.Common/Api/Logging/LogFileWebSocketListener.cs
@@ -6,6 +6,7 @@ using System.ComponentModel.Composition;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Common.Api.Logging
{
@@ -25,6 +26,17 @@ namespace MediaBrowser.Common.Api.Logging
}
/// <summary>
+ /// Initializes a new instance of the <see cref="LogFileWebSocketListener" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ public LogFileWebSocketListener([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+
+ }
+
+ /// <summary>
/// Initializes the specified kernel.
/// </summary>
/// <param name="kernel">The kernel.</param>
diff --git a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs b/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs
index 097478af6..7e4596d9d 100644
--- a/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs
+++ b/MediaBrowser.Common/Api/ScheduledTasks/ScheduledTasksWebSocketListener.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
using System.Collections.Generic;
using System.ComponentModel.Composition;
@@ -22,7 +23,18 @@ namespace MediaBrowser.Common.Api.ScheduledTasks
{
get { return "ScheduledTasksInfo"; }
}
-
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ScheduledTasksWebSocketListener" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ public ScheduledTasksWebSocketListener([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+
+ }
+
/// <summary>
/// Gets the data to send.
/// </summary>
diff --git a/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs b/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs
index d2e404beb..a216937ed 100644
--- a/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs
+++ b/MediaBrowser.Common/Api/SystemInfoWebSocketListener.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.Kernel;
+using MediaBrowser.Model.Logging;
using System.ComponentModel.Composition;
using System.Threading.Tasks;
@@ -20,6 +21,17 @@ namespace MediaBrowser.Common.Api
}
/// <summary>
+ /// Initializes a new instance of the <see cref="SystemInfoWebSocketListener" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ public SystemInfoWebSocketListener([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+
+ }
+
+ /// <summary>
/// Gets the data to send.
/// </summary>
/// <param name="state">The state.</param>
diff --git a/MediaBrowser.Common/Events/EventHelper.cs b/MediaBrowser.Common/Events/EventHelper.cs
index bd2b1156e..6ed5ec591 100644
--- a/MediaBrowser.Common/Events/EventHelper.cs
+++ b/MediaBrowser.Common/Events/EventHelper.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.Logging;
+using MediaBrowser.Model.Logging;
using System;
using System.Threading.Tasks;
@@ -10,6 +11,11 @@ namespace MediaBrowser.Common.Events
public static class EventHelper
{
/// <summary>
+ /// The logger
+ /// </summary>
+ private static readonly ILogger Logger = LogManager.GetLogger("EventHelper");
+
+ /// <summary>
/// Fires the event.
/// </summary>
/// <param name="handler">The handler.</param>
@@ -27,7 +33,7 @@ namespace MediaBrowser.Common.Events
}
catch (Exception ex)
{
- Logger.LogException("Error in event handler", ex);
+ Logger.ErrorException("Error in event handler", ex);
}
});
}
@@ -52,7 +58,7 @@ namespace MediaBrowser.Common.Events
}
catch (Exception ex)
{
- Logger.LogException("Error in event handler", ex);
+ Logger.ErrorException("Error in event handler", ex);
}
});
}
@@ -74,7 +80,7 @@ namespace MediaBrowser.Common.Events
}
catch (Exception ex)
{
- Logger.LogException("Error in event handler", ex);
+ Logger.ErrorException("Error in event handler", ex);
}
}
}
@@ -96,7 +102,7 @@ namespace MediaBrowser.Common.Events
}
catch (Exception ex)
{
- Logger.LogException("Error in event handler", ex);
+ Logger.ErrorException("Error in event handler", ex);
}
}
}
diff --git a/MediaBrowser.Common/IO/FileSystem.cs b/MediaBrowser.Common/IO/FileSystem.cs
index e1abe7833..fde46dd5b 100644
--- a/MediaBrowser.Common/IO/FileSystem.cs
+++ b/MediaBrowser.Common/IO/FileSystem.cs
@@ -38,8 +38,6 @@ namespace MediaBrowser.Common.IO
{
if (!path.EndsWith("*", StringComparison.OrdinalIgnoreCase))
{
- Logger.LogInfo("Handle came back invalid for {0}. This might be a network share. Since this is a directory we'll try appending " + Path.DirectorySeparatorChar + "*.", path);
-
NativeMethods.FindClose(handle);
handle = NativeMethods.FindFirstFileEx(Path.Combine(path, "*"), FINDEX_INFO_LEVELS.FindExInfoBasic, out data,
diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs
index a4a1d5b4d..fe0d619c4 100644
--- a/MediaBrowser.Common/Kernel/BaseKernel.cs
+++ b/MediaBrowser.Common/Kernel/BaseKernel.cs
@@ -143,7 +143,7 @@ namespace MediaBrowser.Common.Kernel
get
{
// Lazy load
- LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationLoaded, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath));
+ LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationLoaded, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath, Logger));
return _configuration;
}
protected set
@@ -441,8 +441,6 @@ namespace MediaBrowser.Common.Kernel
AddLogTarget(logFile, "ApplicationLogFile");
- Logging.Logger.LoggerInstance = Logging.LogManager.GetLogger("App");
-
OnLoggerLoaded();
}
@@ -590,7 +588,7 @@ namespace MediaBrowser.Common.Kernel
try
{
- plugin.Initialize(this);
+ plugin.Initialize(this, Logging.LogManager.GetLogger(plugin.GetType().Name));
Logger.Info("{0} {1} initialized.", plugin.Name, plugin.Version);
}
diff --git a/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs b/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs
index 7db1ca36b..f431c5463 100644
--- a/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs
+++ b/MediaBrowser.Common/Kernel/BasePeriodicWebSocketListener.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Common.Kernel
{
@@ -39,6 +40,25 @@ namespace MediaBrowser.Common.Kernel
protected abstract Task<TReturnDataType> GetDataToSend(TStateType state);
/// <summary>
+ /// The logger
+ /// </summary>
+ protected ILogger Logger;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="BasePeriodicWebSocketListener{TStateType}" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ protected BasePeriodicWebSocketListener(ILogger logger)
+ {
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
+ }
+
+ /// <summary>
/// Processes the message internal.
/// </summary>
/// <param name="message">The message.</param>
@@ -71,7 +91,7 @@ namespace MediaBrowser.Common.Kernel
var cancellationTokenSource = new CancellationTokenSource();
- Logger.LogInfo("{1} Begin transmitting over websocket to {0}", message.Connection.RemoteEndPoint, GetType().Name);
+ Logger.Info("{1} Begin transmitting over websocket to {0}", message.Connection.RemoteEndPoint, GetType().Name);
var timer = new Timer(TimerCallback, message.Connection, Timeout.Infinite, Timeout.Infinite);
@@ -135,7 +155,7 @@ namespace MediaBrowser.Common.Kernel
}
catch (Exception ex)
{
- Logger.LogException("Error sending web socket message {0}", ex, Name);
+ Logger.ErrorException("Error sending web socket message {0}", ex, Name);
DisposeConnection(tuple);
}
finally
@@ -167,7 +187,7 @@ namespace MediaBrowser.Common.Kernel
/// <param name="connection">The connection.</param>
private void DisposeConnection(Tuple<WebSocketConnection, CancellationTokenSource, Timer, TStateType, SemaphoreSlim> connection)
{
- Logger.LogInfo("{1} stop transmitting over websocket to {0}", connection.Item1.RemoteEndPoint, GetType().Name);
+ Logger.Info("{1} stop transmitting over websocket to {0}", connection.Item1.RemoteEndPoint, GetType().Name);
try
{
diff --git a/MediaBrowser.Common/Logging/Logger.cs b/MediaBrowser.Common/Logging/Logger.cs
deleted file mode 100644
index a6cb6d885..000000000
--- a/MediaBrowser.Common/Logging/Logger.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-using MediaBrowser.Model.Logging;
-using System;
-
-namespace MediaBrowser.Common.Logging
-{
- /// <summary>
- /// Class Logger
- /// </summary>
- public static class Logger
- {
- /// <summary>
- /// Gets or sets the logger instance.
- /// </summary>
- /// <value>The logger instance.</value>
- internal static ILogger LoggerInstance { get; set; }
-
- /// <summary>
- /// Logs the info.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public static void LogInfo(string message, params object[] paramList)
- {
- LogEntry(message, LogSeverity.Info, null, paramList);
- }
-
- /// <summary>
- /// Logs the debug info.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public static void LogDebugInfo(string message, params object[] paramList)
- {
- LogEntry(message, LogSeverity.Debug, null, paramList);
- }
-
- /// <summary>
- /// Logs the exception.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="ex">The ex.</param>
- /// <param name="paramList">The param list.</param>
- public static void LogException(string message, Exception ex, params object[] paramList)
- {
- LogEntry(message, LogSeverity.Error, ex, paramList);
- }
-
- /// <summary>
- /// Logs the warning.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public static void LogWarning(string message, params object[] paramList)
- {
- LogEntry(message, LogSeverity.Warn, null, paramList);
- }
-
- /// <summary>
- /// Logs the entry.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="level">The level.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="paramList">The param list.</param>
- private static void LogEntry(string message, LogSeverity level, Exception exception, params object[] paramList)
- {
- if (LoggerInstance == null)
- {
- return;
- }
-
- if (exception == null)
- {
- LoggerInstance.Log(level, message, paramList);
- }
- else
- {
- if (level == LogSeverity.Fatal)
- {
- LoggerInstance.FatalException(message, exception, paramList);
- }
- else
- {
- LoggerInstance.ErrorException(message, exception, paramList);
- }
- }
- }
- }
-}
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index fa4d956db..b80cd8e84 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -187,7 +187,6 @@
<Compile Include="Serialization\JsonSerializer.cs" />
<Compile Include="Kernel\BaseKernel.cs" />
<Compile Include="Kernel\KernelContext.cs" />
- <Compile Include="Logging\Logger.cs" />
<Compile Include="Net\Handlers\BaseHandler.cs" />
<Compile Include="Net\Handlers\BaseSerializationHandler.cs" />
<Compile Include="Net\HttpServer.cs" />
diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs
index 3cce146fa..4da5a69f3 100644
--- a/MediaBrowser.Common/Plugins/BasePlugin.cs
+++ b/MediaBrowser.Common/Plugins/BasePlugin.cs
@@ -189,7 +189,7 @@ namespace MediaBrowser.Common.Plugins
get
{
// Lazy load
- LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration(ConfigurationType, ConfigurationFilePath) as TConfigurationType);
+ LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration(ConfigurationType, ConfigurationFilePath, Logger) as TConfigurationType);
return _configuration;
}
protected set
@@ -274,15 +274,21 @@ namespace MediaBrowser.Common.Plugins
/// Starts the plugin.
/// </summary>
/// <param name="kernel">The kernel.</param>
+ /// <param name="logger">The logger.</param>
/// <exception cref="System.ArgumentNullException">kernel</exception>
- public void Initialize(IKernel kernel)
+ public void Initialize(IKernel kernel, ILogger logger)
{
if (kernel == null)
{
throw new ArgumentNullException("kernel");
}
- Logger = LogManager.GetLogger(Name);
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
Kernel = kernel;
diff --git a/MediaBrowser.Common/Plugins/IPlugin.cs b/MediaBrowser.Common/Plugins/IPlugin.cs
index 2427e6a13..fdd99868a 100644
--- a/MediaBrowser.Common/Plugins/IPlugin.cs
+++ b/MediaBrowser.Common/Plugins/IPlugin.cs
@@ -107,8 +107,9 @@ namespace MediaBrowser.Common.Plugins
/// Starts the plugin.
/// </summary>
/// <param name="kernel">The kernel.</param>
+ /// <param name="logger">The logger.</param>
/// <exception cref="System.ArgumentNullException">kernel</exception>
- void Initialize(IKernel kernel);
+ void Initialize(IKernel kernel, ILogger logger);
/// <summary>
/// Disposes the plugins. Undos all actions performed during Init.
diff --git a/MediaBrowser.Common/Serialization/XmlSerializer.cs b/MediaBrowser.Common/Serialization/XmlSerializer.cs
index 8737aa818..c1258b72e 100644
--- a/MediaBrowser.Common/Serialization/XmlSerializer.cs
+++ b/MediaBrowser.Common/Serialization/XmlSerializer.cs
@@ -3,6 +3,7 @@ using System;
using System.IO;
using System.Linq;
using System.Xml;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Common.Serialization
{
@@ -157,10 +158,11 @@ namespace MediaBrowser.Common.Serialization
/// </summary>
/// <param name="type">The type.</param>
/// <param name="path">The path.</param>
+ /// <param name="logger">The logger.</param>
/// <returns>System.Object.</returns>
- public static object GetXmlConfiguration(Type type, string path)
+ public static object GetXmlConfiguration(Type type, string path, ILogger logger)
{
- Logger.LogInfo("Loading {0} at {1}", type.Name, path);
+ logger.Info("Loading {0} at {1}", type.Name, path);
object configuration;
@@ -184,7 +186,7 @@ namespace MediaBrowser.Common.Serialization
// If the file didn't exist before, or if something has changed, re-save
if (buffer == null || !buffer.SequenceEqual(newBytes))
{
- Logger.LogInfo("Saving {0} to {1}", type.Name, path);
+ logger.Info("Saving {0} to {1}", type.Name, path);
// Save it after load in case we got new items
File.WriteAllBytes(path, newBytes);
@@ -200,11 +202,12 @@ namespace MediaBrowser.Common.Serialization
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="path">The path.</param>
+ /// <param name="logger">The logger.</param>
/// <returns>``0.</returns>
- public static T GetXmlConfiguration<T>(string path)
+ public static T GetXmlConfiguration<T>(string path, ILogger logger)
where T : class
{
- return GetXmlConfiguration(typeof(T), path) as T;
+ return GetXmlConfiguration(typeof(T), path, logger) as T;
}
}
}
diff --git a/MediaBrowser.Controller/Drawing/ImageHeader.cs b/MediaBrowser.Controller/Drawing/ImageHeader.cs
index 7cc63eee9..7fec7d4c5 100644
--- a/MediaBrowser.Controller/Drawing/ImageHeader.cs
+++ b/MediaBrowser.Controller/Drawing/ImageHeader.cs
@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Drawing
{
@@ -36,9 +37,10 @@ namespace MediaBrowser.Controller.Drawing
/// Gets the dimensions of an image.
/// </summary>
/// <param name="path">The path of the image to get the dimensions of.</param>
+ /// <param name="logger">The logger.</param>
/// <returns>The dimensions of the specified image.</returns>
/// <exception cref="ArgumentException">The image was of an unrecognised format.</exception>
- public static Size GetDimensions(string path)
+ public static Size GetDimensions(string path, ILogger logger)
{
try
{
@@ -52,7 +54,7 @@ namespace MediaBrowser.Controller.Drawing
}
catch
{
- Logger.LogInfo("Failed to read image header for {0}. Doing it the slow way.", path);
+ logger.Info("Failed to read image header for {0}. Doing it the slow way.", path);
using (var fs = File.OpenRead(path))
{
diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs
index 6dd641cba..c033fd1f4 100644
--- a/MediaBrowser.Controller/Drawing/ImageManager.cs
+++ b/MediaBrowser.Controller/Drawing/ImageManager.cs
@@ -276,7 +276,7 @@ namespace MediaBrowser.Controller.Drawing
// Cache file doesn't exist no biggie
}
- var size = ImageHeader.GetDimensions(imagePath);
+ var size = ImageHeader.GetDimensions(imagePath, Logger);
var imageSize = new ImageSize { Width = size.Width, Height = size.Height };
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index e583e3a6a..b488f422c 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Entities
{
@@ -94,6 +95,11 @@ namespace MediaBrowser.Controller.Entities
public DateTime DateModified { get; set; }
/// <summary>
+ /// The logger
+ /// </summary>
+ protected static ILogger Logger = LogManager.GetLogger("BaseItem");
+
+ /// <summary>
/// Returns a <see cref="System.String" /> that represents this instance.
/// </summary>
/// <returns>A <see cref="System.String" /> that represents this instance.</returns>
@@ -268,7 +274,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error creating resolve args for ", ex, Path);
+ Logger.ErrorException("Error creating resolve args for ", ex, Path);
throw;
}
@@ -581,7 +587,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting ResolveArgs for {0}", ex, Path);
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
return new List<Video> { };
}
@@ -606,7 +612,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error loading trailers for {0}", ex, Name);
+ Logger.ErrorException("Error loading trailers for {0}", ex, Name);
return new List<Video> { };
}
@@ -975,7 +981,7 @@ namespace MediaBrowser.Controller.Entities
var changed = copy.DateModified != DateModified;
if (changed)
{
- Logger.LogDebugInfo(Name + " changed - original creation: " + DateCreated + " new creation: " + copy.DateCreated + " original modified: " + DateModified + " new modified: " + copy.DateModified);
+ Logger.Debug(Name + " changed - original creation: " + DateCreated + " new creation: " + copy.DateCreated + " original modified: " + DateModified + " new modified: " + copy.DateModified);
}
return changed;
}
diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs
index 5684f8e80..3f212a314 100644
--- a/MediaBrowser.Controller/Entities/CollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs
@@ -83,7 +83,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error creating FolderIds for {0}", ex, Path);
+ Logger.ErrorException("Error creating FolderIds for {0}", ex, Path);
folderIds = new Guid[] {};
}
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 8d2a68cb8..9795e5773 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -306,7 +306,7 @@ namespace MediaBrowser.Controller.Entities
// Even though this implementation means multiple iterations over the target list - it allows us to defer
// the retrieval of the individual children for each index value until they are requested.
- using (new Profiler(indexName + " Index Build for " + Name))
+ using (new Profiler(indexName + " Index Build for " + Name, Logger))
{
// Put this in a local variable to avoid an implicitly captured closure
var currentIndexName = indexName;
@@ -325,12 +325,12 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting person {0}", ex, i);
+ Logger.ErrorException("Error getting person {0}", ex, i);
return null;
}
catch (AggregateException ex)
{
- Logger.LogException("Error getting person {0}", ex, i);
+ Logger.ErrorException("Error getting person {0}", ex, i);
return null;
}
})
@@ -351,7 +351,7 @@ namespace MediaBrowser.Controller.Entities
{
// Even though this implementation means multiple iterations over the target list - it allows us to defer
// the retrieval of the individual children for each index value until they are requested.
- using (new Profiler("Studio Index Build for " + Name))
+ using (new Profiler("Studio Index Build for " + Name, Logger))
{
var indexName = LocalizedStrings.Instance.GetString("StudioDispPref");
@@ -367,12 +367,12 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting studio {0}", ex, i);
+ Logger.ErrorException("Error getting studio {0}", ex, i);
return null;
}
catch (AggregateException ex)
{
- Logger.LogException("Error getting studio {0}", ex, i);
+ Logger.ErrorException("Error getting studio {0}", ex, i);
return null;
}
})
@@ -390,7 +390,7 @@ namespace MediaBrowser.Controller.Entities
{
// Even though this implementation means multiple iterations over the target list - it allows us to defer
// the retrieval of the individual children for each index value until they are requested.
- using (new Profiler("Genre Index Build for " + Name))
+ using (new Profiler("Genre Index Build for " + Name, Logger))
{
var indexName = LocalizedStrings.Instance.GetString("GenreDispPref");
@@ -407,12 +407,12 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting genre {0}", ex, i);
+ Logger.ErrorException("Error getting genre {0}", ex, i);
return null;
}
catch (AggregateException ex)
{
- Logger.LogException("Error getting genre {0}", ex, i);
+ Logger.ErrorException("Error getting genre {0}", ex, i);
return null;
}
})
@@ -431,7 +431,7 @@ namespace MediaBrowser.Controller.Entities
{
// Even though this implementation means multiple iterations over the target list - it allows us to defer
// the retrieval of the individual children for each index value until they are requested.
- using (new Profiler("Production Year Index Build for " + Name))
+ using (new Profiler("Production Year Index Build for " + Name, Logger))
{
var indexName = LocalizedStrings.Instance.GetString("YearDispPref");
@@ -448,12 +448,12 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting year {0}", ex, i);
+ Logger.ErrorException("Error getting year {0}", ex, i);
return null;
}
catch (AggregateException ex)
{
- Logger.LogException("Error getting year {0}", ex, i);
+ Logger.ErrorException("Error getting year {0}", ex, i);
return null;
}
})
@@ -639,7 +639,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (OperationCanceledException ex)
{
- Logger.LogInfo("ValidateChildren cancelled for " + Name);
+ Logger.Info("ValidateChildren cancelled for " + Name);
// If the outer cancelletion token in the cause for the cancellation, throw it
if (cancellationToken.IsCancellationRequested && ex.CancellationToken == cancellationToken)
@@ -734,7 +734,7 @@ namespace MediaBrowser.Controller.Entities
foreach (var item in changedArgs.ItemsRemoved)
{
- Logger.LogInfo("** " + item.Name + " Removed from library.");
+ Logger.Info("** " + item.Name + " Removed from library.");
}
var childrenReplaced = false;
@@ -749,7 +749,7 @@ namespace MediaBrowser.Controller.Entities
foreach (var item in changedArgs.ItemsAdded)
{
- Logger.LogInfo("** " + item.Name + " Added to library.");
+ Logger.Info("** " + item.Name + " Added to library.");
if (!childrenReplaced)
{
@@ -762,7 +762,7 @@ namespace MediaBrowser.Controller.Entities
await Task.WhenAll(saveTasks).ConfigureAwait(false);
//and save children in repo...
- Logger.LogInfo("*** Saving " + newChildren.Count + " children for " + Name);
+ Logger.Info("*** Saving " + newChildren.Count + " children for " + Name);
await Kernel.Instance.ItemRepository.SaveChildren(Id, newChildren, CancellationToken.None).ConfigureAwait(false);
}
@@ -860,7 +860,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting ResolveArgs for {0}", ex, Path);
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
return new List<BaseItem> { };
}
@@ -1028,7 +1028,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting ResolveArgs for {0}", ex, Path);
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
}
//this should be functionally equivilent to what was here since it is IEnum and works on a thread-safe copy
@@ -1040,7 +1040,7 @@ namespace MediaBrowser.Controller.Entities
}
catch (IOException ex)
{
- Logger.LogException("Error getting ResolveArgs for {0}", ex, Path);
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
return false;
}
});
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index cc9bcb8d5..3ac4f60f5 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -161,7 +161,7 @@ namespace MediaBrowser.Controller.Entities.Movies
}
catch (IOException ex)
{
- Logger.LogException("Error getting ResolveArgs for {0}", ex, Path);
+ Logger.ErrorException("Error getting ResolveArgs for {0}", ex, Path);
return new List<Video> { };
}
@@ -179,7 +179,7 @@ namespace MediaBrowser.Controller.Entities.Movies
}
catch (IOException ex)
{
- Logger.LogException("Error loading trailers for {0}", ex, Name);
+ Logger.ErrorException("Error loading trailers for {0}", ex, Name);
return new List<Video> { };
}
diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs
index 92e268d4c..1d9e6c4d1 100644
--- a/MediaBrowser.Controller/Entities/User.cs
+++ b/MediaBrowser.Controller/Entities/User.cs
@@ -170,7 +170,7 @@ namespace MediaBrowser.Controller.Entities
get
{
// Lazy load
- LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<UserConfiguration>(ConfigurationFilePath));
+ LazyInitializer.EnsureInitialized(ref _configuration, ref _configurationInitialized, ref _configurationSyncLock, () => XmlSerializer.GetXmlConfiguration<UserConfiguration>(ConfigurationFilePath, Logger));
return _configuration;
}
private set
@@ -208,7 +208,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
public async Task ValidateMediaLibrary(IProgress<TaskProgress> progress, CancellationToken cancellationToken)
{
- Logger.LogInfo("Validating media library for {0}", Name);
+ Logger.Info("Validating media library for {0}", Name);
await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false);
cancellationToken.ThrowIfCancellationRequested();
@@ -224,7 +224,7 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
public async Task ValidateCollectionFolders(IProgress<TaskProgress> progress, CancellationToken cancellationToken)
{
- Logger.LogInfo("Validating collection folders for {0}", Name);
+ Logger.Info("Validating collection folders for {0}", Name);
await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false);
cancellationToken.ThrowIfCancellationRequested();
diff --git a/MediaBrowser.Controller/IO/DirectoryWatchers.cs b/MediaBrowser.Controller/IO/DirectoryWatchers.cs
index 29353bc25..4eaa6e7d3 100644
--- a/MediaBrowser.Controller/IO/DirectoryWatchers.cs
+++ b/MediaBrowser.Controller/IO/DirectoryWatchers.cs
@@ -70,9 +70,14 @@ namespace MediaBrowser.Controller.IO
/// <summary>
/// Initializes a new instance of the <see cref="DirectoryWatchers" /> class.
/// </summary>
- public DirectoryWatchers()
+ public DirectoryWatchers(ILogger logger)
{
- Logger = LogManager.GetLogger(GetType().Name);
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
}
/// <summary>
diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs
index 74d0a7e6f..b94034913 100644
--- a/MediaBrowser.Controller/IO/FileData.cs
+++ b/MediaBrowser.Controller/IO/FileData.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Common.Logging;
using MediaBrowser.Common.Win32;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.IO;
@@ -15,6 +16,11 @@ namespace MediaBrowser.Controller.IO
public static class FileData
{
/// <summary>
+ /// The logger
+ /// </summary>
+ private static readonly ILogger Logger = LogManager.GetLogger("FileData");
+
+ /// <summary>
/// Gets all file system entries within a foler
/// </summary>
/// <param name="path">The path.</param>
@@ -87,7 +93,7 @@ namespace MediaBrowser.Controller.IO
if (string.IsNullOrWhiteSpace(newPath))
{
//invalid shortcut - could be old or target could just be unavailable
- Logger.LogWarning("Encountered invalid shortuct: "+lpFindFileData.Path);
+ Logger.Warn("Encountered invalid shortuct: "+lpFindFileData.Path);
continue;
}
var data = FileSystem.GetFileData(newPath);
diff --git a/MediaBrowser.Controller/IO/FileSystemManager.cs b/MediaBrowser.Controller/IO/FileSystemManager.cs
index e33983489..359a77d60 100644
--- a/MediaBrowser.Controller/IO/FileSystemManager.cs
+++ b/MediaBrowser.Controller/IO/FileSystemManager.cs
@@ -28,7 +28,7 @@ namespace MediaBrowser.Controller.IO
public FileSystemManager(Kernel kernel)
: base(kernel)
{
- DirectoryWatchers = new DirectoryWatchers();
+ DirectoryWatchers = new DirectoryWatchers(Logger);
}
/// <summary>
diff --git a/MediaBrowser.Controller/Library/Profiler.cs b/MediaBrowser.Controller/Library/Profiler.cs
index 4daa9d654..3ac53f62a 100644
--- a/MediaBrowser.Controller/Library/Profiler.cs
+++ b/MediaBrowser.Controller/Library/Profiler.cs
@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using MediaBrowser.Common.Logging;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Controller.Library
{
@@ -19,13 +20,21 @@ namespace MediaBrowser.Controller.Library
readonly Stopwatch stopwatch;
/// <summary>
+ /// The _logger
+ /// </summary>
+ private ILogger _logger;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="Profiler" /> class.
/// </summary>
/// <param name="name">The name.</param>
- public Profiler(string name)
+ /// <param name="logger">The logger.</param>
+ public Profiler(string name, ILogger logger)
{
this.name = name;
+ _logger = logger;
+
stopwatch = new Stopwatch();
stopwatch.Start();
}
@@ -60,7 +69,7 @@ namespace MediaBrowser.Controller.Library
message = string.Format("{0} took {1} seconds.",
name, ((float)stopwatch.ElapsedMilliseconds / 1000).ToString("#0.000"));
}
- Logger.LogInfo(message);
+ _logger.Info(message);
}
}
diff --git a/MediaBrowser.Controller/Localization/LocalizedStrings.cs b/MediaBrowser.Controller/Localization/LocalizedStrings.cs
index b7e66f095..aa651e181 100644
--- a/MediaBrowser.Controller/Localization/LocalizedStrings.cs
+++ b/MediaBrowser.Controller/Localization/LocalizedStrings.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Localization;
using MediaBrowser.Common.Logging;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Concurrent;
using System.Globalization;
@@ -16,6 +17,10 @@ namespace MediaBrowser.Controller.Localization
public class LocalizedStrings
{
/// <summary>
+ /// The logger
+ /// </summary>
+ private static readonly ILogger Logger = LogManager.GetLogger("LocalizedStrings");
+ /// <summary>
/// The base prefix
/// </summary>
public const string BasePrefix = "base-";
@@ -80,7 +85,7 @@ namespace MediaBrowser.Controller.Localization
var xs = new XmlSerializer(t);
var strings = (LocalizedStringData)Activator.CreateInstance(t);
strings.FileName = file;
- Logger.LogInfo("Using String Data from {0}", file);
+ Logger.Info("Using String Data from {0}", file);
if (File.Exists(file))
{
using (var fs = new FileStream(file, FileMode.Open, FileAccess.Read))
@@ -121,17 +126,17 @@ namespace MediaBrowser.Controller.Localization
}
catch (TargetException ex)
{
- Logger.LogException("Error getting value for field: {0}", ex, field.Name);
+ Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}
catch (FieldAccessException ex)
{
- Logger.LogException("Error getting value for field: {0}", ex, field.Name);
+ Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}
catch (NotSupportedException ex)
{
- Logger.LogException("Error getting value for field: {0}", ex, field.Name);
+ Logger.ErrorException("Error getting value for field: {0}", ex, field.Name);
continue;
}
diff --git a/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs b/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs
index bd60003be..0bcfff183 100644
--- a/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs
+++ b/MediaBrowser.Controller/Providers/BaseImageEnhancer.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Logging;
using System;
using System.Drawing;
using System.Threading.Tasks;
@@ -14,6 +15,10 @@ namespace MediaBrowser.Controller.Providers
public abstract class BaseImageEnhancer : IDisposable
{
/// <summary>
+ /// The logger
+ /// </summary>
+ private static readonly ILogger Logger = LogManager.GetLogger("ImageEnhancer");
+ /// <summary>
/// Return true only if the given image for the given item will be enhanced by this enhancer.
/// </summary>
/// <param name="item">The item.</param>
@@ -96,7 +101,7 @@ namespace MediaBrowser.Controller.Providers
var typeName = GetType().Name;
- Logger.LogDebugInfo("Running {0} for {1}", typeName, item.Path ?? item.Name ?? "--Unknown--");
+ Logger.Debug("Running {0} for {1}", typeName, item.Path ?? item.Name ?? "--Unknown--");
try
{
@@ -104,7 +109,7 @@ namespace MediaBrowser.Controller.Providers
}
catch (Exception ex)
{
- Logger.LogException("{0} failed enhancing {1}", ex, typeName, item.Name);
+ Logger.ErrorException("{0} failed enhancing {1}", ex, typeName, item.Name);
throw;
}
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 0869b25bc..e54e6bfc2 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -17,6 +18,20 @@ namespace MediaBrowser.Controller.Providers
where T : BaseItem, new()
{
/// <summary>
+ /// The logger
+ /// </summary>
+ protected ILogger Logger { get; private set; }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ public BaseItemXmlParser(ILogger logger)
+ {
+ Logger = logger;
+ }
+
+ /// <summary>
/// Fetches metadata for an item from one xml file
/// </summary>
/// <param name="item">The item.</param>
diff --git a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs b/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
index 110502bc1..ab0f37b96 100644
--- a/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
+++ b/MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
@@ -66,13 +66,13 @@ namespace MediaBrowser.Controller.Providers
private bool Fetch(BaseItem item, CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
-
+
var metadataFile = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, "folder.xml"));
if (metadataFile.HasValue)
{
var path = metadataFile.Value.Path;
- new BaseItemXmlParser<Folder>().Fetch((Folder)item, path, cancellationToken);
+ new BaseItemXmlParser<Folder>(Logger).Fetch((Folder)item, path, cancellationToken);
SetLastRefreshed(item, DateTime.UtcNow);
return true;
}
diff --git a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
index b87c71df3..b180fa580 100644
--- a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
+++ b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
@@ -75,11 +75,11 @@ namespace MediaBrowser.Controller.Providers.Movies
var boxset = item as BoxSet;
if (boxset != null)
{
- new BaseItemXmlParser<BoxSet>().Fetch(boxset, path, cancellationToken);
+ new BaseItemXmlParser<BoxSet>(Logger).Fetch(boxset, path, cancellationToken);
}
else
{
- new BaseItemXmlParser<Movie>().Fetch((Movie)item, path, cancellationToken);
+ new BaseItemXmlParser<Movie>(Logger).Fetch((Movie)item, path, cancellationToken);
}
SetLastRefreshed(item, DateTime.UtcNow);
return true;
diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs b/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
index df46b7167..08d0988eb 100644
--- a/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
+++ b/MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
@@ -115,7 +115,7 @@ namespace MediaBrowser.Controller.Providers.TV
return false;
}
- new EpisodeXmlParser().Fetch(item, metadataFile, cancellationToken);
+ new EpisodeXmlParser(Logger).Fetch(item, metadataFile, cancellationToken);
return true;
}
}
diff --git a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs
index 7133d8745..4b8219e00 100644
--- a/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/TV/EpisodeXmlParser.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Model.Logging;
using System.IO;
using System.Xml;
@@ -10,6 +11,15 @@ namespace MediaBrowser.Controller.Providers.TV
public class EpisodeXmlParser : BaseItemXmlParser<Episode>
{
/// <summary>
+ /// Initializes a new instance of the <see cref="EpisodeXmlParser" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ public EpisodeXmlParser(ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
diff --git a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs b/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
index 728ac0549..c92841fb6 100644
--- a/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
+++ b/MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
@@ -74,7 +74,7 @@ namespace MediaBrowser.Controller.Providers.TV
{
var path = metadataFile.Value.Path;
- new SeriesXmlParser().Fetch((Series)item, path, cancellationToken);
+ new SeriesXmlParser(Logger).Fetch((Series)item, path, cancellationToken);
SetLastRefreshed(item, DateTime.UtcNow);
return true;
diff --git a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs
index 751690425..2822a43b2 100644
--- a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs
@@ -1,7 +1,7 @@
-using MediaBrowser.Common.Logging;
-using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Resolvers.TV;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Logging;
using System;
using System.Xml;
@@ -13,6 +13,15 @@ namespace MediaBrowser.Controller.Providers.TV
public class SeriesXmlParser : BaseItemXmlParser<Series>
{
/// <summary>
+ /// Initializes a new instance of the <see cref="BaseItemXmlParser{T}" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ public SeriesXmlParser(ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
@@ -74,7 +83,7 @@ namespace MediaBrowser.Controller.Providers.TV
}
else
{
- Logger.LogInfo("Unrecognized series status: " + status);
+ Logger.Info("Unrecognized series status: " + status);
}
}
diff --git a/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs b/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs
index 3e7421a39..db85ae4f7 100644
--- a/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs
+++ b/MediaBrowser.Controller/Resolvers/TV/TVUtils.cs
@@ -7,9 +7,18 @@ using System.Linq;
namespace MediaBrowser.Controller.Resolvers.TV
{
+ /// <summary>
+ /// Class TVUtils
+ /// </summary>
public static class TVUtils
{
+ /// <summary>
+ /// The TVDB API key
+ /// </summary>
public static readonly string TVDBApiKey = "B89CE93890E9419B";
+ /// <summary>
+ /// The banner URL
+ /// </summary>
public static readonly string BannerUrl = "http://www.thetvdb.com/banners/";
/// <summary>
@@ -29,11 +38,6 @@ namespace MediaBrowser.Controller.Resolvers.TV
/// match movie titles like "2001 A Space..."
/// Currently we limit the numbers here to 2 digits to try and avoid this
/// </summary>
- /// <remarks>
- /// The order here is important, if the order is changed some of the later
- /// ones might incorrectly match things that higher ones would have caught.
- /// The most restrictive expressions should appear first
- /// </remarks>
private static readonly Regex[] EpisodeExpressions = new[]
{
new Regex(
@@ -78,6 +82,11 @@ namespace MediaBrowser.Controller.Resolvers.TV
};
+ /// <summary>
+ /// Gets the season number from path.
+ /// </summary>
+ /// <param name="path">The path.</param>
+ /// <returns>System.Nullable{System.Int32}.</returns>
public static int? GetSeasonNumberFromPath(string path)
{
// Look for one of the season folder names
@@ -97,6 +106,8 @@ namespace MediaBrowser.Controller.Resolvers.TV
/// <summary>
/// Extracts the season number from the second half of the Season folder name (everything after "Season", or "Staffel")
/// </summary>
+ /// <param name="path">The path.</param>
+ /// <returns>System.Nullable{System.Int32}.</returns>
private static int? GetSeasonNumberFromPathSubstring(string path)
{
int numericStart = -1;
@@ -127,11 +138,22 @@ namespace MediaBrowser.Controller.Resolvers.TV
return int.Parse(path.Substring(numericStart, length));
}
+ /// <summary>
+ /// Determines whether [is season folder] [the specified path].
+ /// </summary>
+ /// <param name="path">The path.</param>
+ /// <returns><c>true</c> if [is season folder] [the specified path]; otherwise, <c>false</c>.</returns>
public static bool IsSeasonFolder(string path)
{
return GetSeasonNumberFromPath(path) != null;
}
+ /// <summary>
+ /// Determines whether [is series folder] [the specified path].
+ /// </summary>
+ /// <param name="path">The path.</param>
+ /// <param name="fileSystemChildren">The file system children.</param>
+ /// <returns><c>true</c> if [is series folder] [the specified path]; otherwise, <c>false</c>.</returns>
public static bool IsSeriesFolder(string path, IEnumerable<WIN32_FIND_DATA> fileSystemChildren)
{
// A folder with more than 3 non-season folders in will not becounted as a series
@@ -171,6 +193,12 @@ namespace MediaBrowser.Controller.Resolvers.TV
return false;
}
+ /// <summary>
+ /// Episodes the number from file.
+ /// </summary>
+ /// <param name="fullPath">The full path.</param>
+ /// <param name="isInSeason">if set to <c>true</c> [is in season].</param>
+ /// <returns>System.String.</returns>
public static string EpisodeNumberFromFile(string fullPath, bool isInSeason)
{
string fl = fullPath.ToLower();
@@ -194,6 +222,11 @@ namespace MediaBrowser.Controller.Resolvers.TV
return null;
}
+ /// <summary>
+ /// Seasons the number from episode file.
+ /// </summary>
+ /// <param name="fullPath">The full path.</param>
+ /// <returns>System.String.</returns>
public static string SeasonNumberFromEpisodeFile(string fullPath)
{
string fl = fullPath.ToLower();
@@ -211,6 +244,11 @@ namespace MediaBrowser.Controller.Resolvers.TV
return null;
}
+ /// <summary>
+ /// Gets the air days.
+ /// </summary>
+ /// <param name="day">The day.</param>
+ /// <returns>List{DayOfWeek}.</returns>
public static List<DayOfWeek> GetAirDays(string day)
{
if (!string.IsNullOrWhiteSpace(day))
@@ -239,8 +277,6 @@ namespace MediaBrowser.Controller.Resolvers.TV
};
}
- Logger.LogWarning("Invalid value passed into GetAirDays: {0}", day);
-
return new List<DayOfWeek>
{
};
diff --git a/MediaBrowser.IsoMounter/MyPfmFileMountUi.cs b/MediaBrowser.IsoMounter/MyPfmFileMountUi.cs
index d0123a415..0a2fe6642 100644
--- a/MediaBrowser.IsoMounter/MyPfmFileMountUi.cs
+++ b/MediaBrowser.IsoMounter/MyPfmFileMountUi.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Common.Logging;
-using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Logging;
using System.Security;
namespace MediaBrowser.IsoMounter
@@ -12,7 +11,16 @@ namespace MediaBrowser.IsoMounter
/// <summary>
/// The logger
/// </summary>
- private static readonly ILogger Logger = LogManager.GetLogger("MyPfmFileMountUi");
+ private readonly ILogger Logger;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="MyPfmFileMountUi" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ public MyPfmFileMountUi(ILogger logger)
+ {
+ Logger = logger;
+ }
/// <summary>
/// Clears the password.
diff --git a/MediaBrowser.IsoMounter/PismoIsoManager.cs b/MediaBrowser.IsoMounter/PismoIsoManager.cs
index 3ad3a413e..4d22a71dd 100644
--- a/MediaBrowser.IsoMounter/PismoIsoManager.cs
+++ b/MediaBrowser.IsoMounter/PismoIsoManager.cs
@@ -71,16 +71,22 @@ namespace MediaBrowser.IsoMounter
/// </summary>
/// <value>The logger.</value>
private ILogger Logger { get; set; }
-
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="PismoIsoManager" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
public PismoIsoManager(ILogger logger)
{
Logger = logger;
+
+ _myPfmFileMountUi = new MyPfmFileMountUi(Logger);
}
/// <summary>
/// The _my PFM file mount UI
/// </summary>
- private readonly MyPfmFileMountUi _myPfmFileMountUi = new MyPfmFileMountUi();
+ private readonly MyPfmFileMountUi _myPfmFileMountUi;
/// <summary>
/// Mounts the specified iso path.
@@ -151,6 +157,9 @@ namespace MediaBrowser.IsoMounter
return new PismoMount(mount, isoPath, this, Logger);
}
+ /// <summary>
+ /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ /// </summary>
public void Dispose()
{
Dispose(true);
diff --git a/MediaBrowser.Server.Sqlite/SQLiteDisplayPreferencesRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteDisplayPreferencesRepository.cs
index be45a82dd..4ef4cf086 100644
--- a/MediaBrowser.Server.Sqlite/SQLiteDisplayPreferencesRepository.cs
+++ b/MediaBrowser.Server.Sqlite/SQLiteDisplayPreferencesRepository.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
@@ -36,6 +37,16 @@ namespace MediaBrowser.Server.Sqlite
}
/// <summary>
+ /// Initializes a new instance of the <see cref="SQLiteUserDataRepository" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ protected SQLiteDisplayPreferencesRepository([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Opens the connection to the database
/// </summary>
/// <returns>Task.</returns>
@@ -75,7 +86,7 @@ namespace MediaBrowser.Server.Sqlite
{
throw new ArgumentNullException("cancellationToken");
}
-
+
cancellationToken.ThrowIfCancellationRequested();
return Task.Run(() =>
diff --git a/MediaBrowser.Server.Sqlite/SQLiteItemRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteItemRepository.cs
index c381de85b..d00bd63ce 100644
--- a/MediaBrowser.Server.Sqlite/SQLiteItemRepository.cs
+++ b/MediaBrowser.Server.Sqlite/SQLiteItemRepository.cs
@@ -2,6 +2,7 @@ using MediaBrowser.Common.Serialization;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Persistence;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
@@ -41,6 +42,16 @@ namespace MediaBrowser.Server.Sqlite
}
/// <summary>
+ /// Initializes a new instance of the <see cref="SQLiteUserDataRepository" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ protected SQLiteItemRepository([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Opens the connection to the database
/// </summary>
/// <returns>Task.</returns>
@@ -106,7 +117,7 @@ namespace MediaBrowser.Server.Sqlite
var serialized = JsonSerializer.SerializeToBytes(item);
cancellationToken.ThrowIfCancellationRequested();
-
+
var cmd = connection.CreateCommand();
cmd.CommandText = "replace into items (guid, obj_type, data) values (@1, @2, @3)";
cmd.AddParam("@1", item.Id);
@@ -128,7 +139,7 @@ namespace MediaBrowser.Server.Sqlite
{
throw new ArgumentException();
}
-
+
return RetrieveItemInternal(id);
}
@@ -144,7 +155,7 @@ namespace MediaBrowser.Server.Sqlite
{
throw new ArgumentException();
}
-
+
var cmd = connection.CreateCommand();
cmd.CommandText = "select obj_type,data from items where guid = @guid";
var guidParam = cmd.Parameters.Add("@guid", DbType.Guid);
@@ -185,7 +196,7 @@ namespace MediaBrowser.Server.Sqlite
{
throw new ArgumentNullException();
}
-
+
var cmd = connection.CreateCommand();
cmd.CommandText = "select obj_type,data from items where guid in (select child from children where guid = @guid)";
var guidParam = cmd.Parameters.Add("@guid", DbType.Guid);
@@ -202,7 +213,7 @@ namespace MediaBrowser.Server.Sqlite
var itemType = _typeMapper.GetType(type);
if (itemType == null)
{
- Logger.Error("Cannot find type {0}. Probably belongs to plug-in that is no longer loaded.",type);
+ Logger.Error("Cannot find type {0}. Probably belongs to plug-in that is no longer loaded.", type);
continue;
}
var item = JsonSerializer.DeserializeFromStream(stream, itemType) as BaseItem;
diff --git a/MediaBrowser.Server.Sqlite/SQLiteRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteRepository.cs
index b84b336dc..09484d68e 100644
--- a/MediaBrowser.Server.Sqlite/SQLiteRepository.cs
+++ b/MediaBrowser.Server.Sqlite/SQLiteRepository.cs
@@ -38,14 +38,33 @@ namespace MediaBrowser.Server.Sqlite
/// </summary>
private Timer FlushTimer;
+ /// <summary>
+ /// Gets the logger.
+ /// </summary>
+ /// <value>The logger.</value>
protected ILogger Logger { get; private set; }
/// <summary>
+ /// Initializes a new instance of the <see cref="SqliteRepository" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ /// <exception cref="System.ArgumentNullException">logger</exception>
+ protected SqliteRepository(ILogger logger)
+ {
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
+ }
+
+ /// <summary>
/// Connects to DB.
/// </summary>
/// <param name="dbPath">The db path.</param>
/// <returns>Task{System.Boolean}.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">dbPath</exception>
protected async Task ConnectToDB(string dbPath)
{
if (string.IsNullOrEmpty(dbPath))
@@ -53,8 +72,6 @@ namespace MediaBrowser.Server.Sqlite
throw new ArgumentNullException("dbPath");
}
- Logger = LogManager.GetLogger(GetType().Name);
-
dbFileName = dbPath;
var connectionstr = new SQLiteConnectionStringBuilder
{
@@ -78,7 +95,7 @@ namespace MediaBrowser.Server.Sqlite
/// </summary>
/// <param name="queries">The queries.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">queries</exception>
protected void RunQueries(string[] queries)
{
if (queries == null)
@@ -167,7 +184,7 @@ namespace MediaBrowser.Server.Sqlite
/// Queues the command.
/// </summary>
/// <param name="cmd">The CMD.</param>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">cmd</exception>
protected void QueueCommand(SQLiteCommand cmd)
{
if (cmd == null)
@@ -242,7 +259,7 @@ namespace MediaBrowser.Server.Sqlite
/// </summary>
/// <param name="cmd">The CMD.</param>
/// <returns>Task.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">cmd</exception>
public async Task ExecuteCommand(DbCommand cmd)
{
if (cmd == null)
@@ -275,7 +292,7 @@ namespace MediaBrowser.Server.Sqlite
/// <param name="reader">The reader.</param>
/// <param name="ordinal">The ordinal.</param>
/// <returns>Stream.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">reader</exception>
protected static Stream GetStream(IDataReader reader, int ordinal)
{
if (reader == null)
diff --git a/MediaBrowser.Server.Sqlite/SQLiteUserDataRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteUserDataRepository.cs
index c9d4db3ba..732ebc06c 100644
--- a/MediaBrowser.Server.Sqlite/SQLiteUserDataRepository.cs
+++ b/MediaBrowser.Server.Sqlite/SQLiteUserDataRepository.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Persistence;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
@@ -35,6 +36,16 @@ namespace MediaBrowser.Server.Sqlite
}
/// <summary>
+ /// Initializes a new instance of the <see cref="SQLiteUserDataRepository" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ protected SQLiteUserDataRepository([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Opens the connection to the database
/// </summary>
/// <returns>Task.</returns>
@@ -108,7 +119,7 @@ namespace MediaBrowser.Server.Sqlite
/// </summary>
/// <param name="item">The item.</param>
/// <returns>IEnumerable{UserItemData}.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
+ /// <exception cref="System.ArgumentNullException">item</exception>
public IEnumerable<UserItemData> RetrieveUserData(BaseItem item)
{
if (item == null)
diff --git a/MediaBrowser.Server.Sqlite/SQLiteUserRepository.cs b/MediaBrowser.Server.Sqlite/SQLiteUserRepository.cs
index f300f5177..8788a488f 100644
--- a/MediaBrowser.Server.Sqlite/SQLiteUserRepository.cs
+++ b/MediaBrowser.Server.Sqlite/SQLiteUserRepository.cs
@@ -9,6 +9,7 @@ using System.Data;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.Server.Sqlite
{
@@ -36,6 +37,16 @@ namespace MediaBrowser.Server.Sqlite
}
/// <summary>
+ /// Initializes a new instance of the <see cref="SQLiteUserDataRepository" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ protected SQLiteUserRepository([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+ }
+
+ /// <summary>
/// Opens the connection to the database
/// </summary>
/// <returns>Task.</returns>
diff --git a/MediaBrowser.ServerApplication/App.xaml.cs b/MediaBrowser.ServerApplication/App.xaml.cs
index f52a1cbf0..768f5ed11 100644
--- a/MediaBrowser.ServerApplication/App.xaml.cs
+++ b/MediaBrowser.ServerApplication/App.xaml.cs
@@ -179,7 +179,7 @@ namespace MediaBrowser.ServerApplication
/// <returns>Window.</returns>
protected override Window InstantiateMainWindow()
{
- return new MainWindow();
+ return new MainWindow(LogManager.GetLogger("MainWindow"));
}
}
}
diff --git a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs
index 8cb42f0e5..312e70e66 100644
--- a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs
+++ b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.ServerApplication.Controls
/// <summary>
/// The logger
/// </summary>
- private static readonly ILogger Logger = LogManager.GetLogger("MultiItemUpdateNotification");
+ private readonly ILogger Logger;
/// <summary>
/// Gets the children changed event args.
@@ -34,8 +34,15 @@ namespace MediaBrowser.ServerApplication.Controls
/// <summary>
/// Initializes a new instance of the <see cref="ItemUpdateNotification" /> class.
/// </summary>
- public ItemUpdateNotification()
+ public ItemUpdateNotification(ILogger logger)
{
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
+
InitializeComponent();
Loaded += ItemUpdateNotification_Loaded;
diff --git a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
index 383e4ccbe..bab1958fd 100644
--- a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
+++ b/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -19,7 +20,7 @@ namespace MediaBrowser.ServerApplication.Controls
/// <summary>
/// The logger
/// </summary>
- private static readonly ILogger Logger = LogManager.GetLogger("MultiItemUpdateNotification");
+ private readonly ILogger Logger;
/// <summary>
/// Gets the children changed event args.
@@ -33,8 +34,15 @@ namespace MediaBrowser.ServerApplication.Controls
/// <summary>
/// Initializes a new instance of the <see cref="MultiItemUpdateNotification" /> class.
/// </summary>
- public MultiItemUpdateNotification()
+ public MultiItemUpdateNotification(ILogger logger)
{
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ Logger = logger;
+
InitializeComponent();
Loaded += MultiItemUpdateNotification_Loaded;
diff --git a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
index 8158b8268..9645b93dc 100644
--- a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
+++ b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs
@@ -18,6 +18,7 @@ using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media.Imaging;
+using MediaBrowser.Model.Logging;
namespace MediaBrowser.ServerApplication
{
@@ -26,6 +27,8 @@ namespace MediaBrowser.ServerApplication
/// </summary>
public partial class LibraryExplorer : Window
{
+ private ILogger _logger;
+
/// <summary>
/// The current user
/// </summary>
@@ -33,8 +36,10 @@ namespace MediaBrowser.ServerApplication
/// <summary>
/// Initializes a new instance of the <see cref="LibraryExplorer" /> class.
/// </summary>
- public LibraryExplorer()
+ public LibraryExplorer(ILogger logger)
{
+ _logger = logger;
+
InitializeComponent();
lblVersion.Content = "Version: " + Kernel.Instance.DisplayVersion;
foreach (var user in Kernel.Instance.Users)
@@ -311,7 +316,7 @@ namespace MediaBrowser.ServerApplication
{
using (
new Profiler("Explorer full index expansion for " +
- folder.Name))
+ folder.Name, _logger))
{
//re-build the current item's children as an index
prefs.IndexBy = ddlIndexBy.SelectedItem as string;
@@ -352,7 +357,7 @@ namespace MediaBrowser.ServerApplication
{
using (
new Profiler("Explorer sorting by " + ddlSortBy.SelectedItem + " for " +
- folder.Name))
+ folder.Name, _logger))
{
//re-sort
prefs.SortBy = ddlSortBy.SelectedItem as string;
diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
index 3f0bb1177..bce0c4aa0 100644
--- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs
+++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Model.Logging;
using MediaBrowser.ServerApplication.Controls;
using System;
using System.Collections.Generic;
@@ -38,10 +39,24 @@ namespace MediaBrowser.ServerApplication
private Timer NewItemTimer { get; set; }
/// <summary>
+ /// The _logger
+ /// </summary>
+ private readonly ILogger _logger;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="MainWindow" /> class.
/// </summary>
- public MainWindow()
+ /// <param name="logger">The logger.</param>
+ /// <exception cref="System.ArgumentNullException">logger</exception>
+ public MainWindow(ILogger logger)
{
+ if (logger == null)
+ {
+ throw new ArgumentNullException("logger");
+ }
+
+ _logger = logger;
+
InitializeComponent();
Loaded += MainWindowLoaded;
@@ -145,11 +160,19 @@ namespace MediaBrowser.ServerApplication
// Show the notification
if (newItems.Count == 1)
{
- Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new ItemUpdateNotification { DataContext = newItems[0] }, PopupAnimation.Slide, 6000));
+ Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new ItemUpdateNotification(LogManager.GetLogger("ItemUpdateNotification"))
+ {
+ DataContext = newItems[0]
+
+ }, PopupAnimation.Slide, 6000));
}
else if (newItems.Count > 1)
{
- Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new MultiItemUpdateNotification { DataContext = newItems }, PopupAnimation.Slide, 6000));
+ Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new MultiItemUpdateNotification(LogManager.GetLogger("ItemUpdateNotification"))
+ {
+ DataContext = newItems
+
+ }, PopupAnimation.Slide, 6000));
}
}
@@ -246,7 +269,7 @@ namespace MediaBrowser.ServerApplication
}
catch (Exception ex)
{
- Logger.LogException("Error in event handler", ex);
+ _logger.ErrorException("Error in event handler", ex);
}
}
}
@@ -259,7 +282,7 @@ namespace MediaBrowser.ServerApplication
/// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
private void cmOpenExplorer_click(object sender, RoutedEventArgs e)
{
- (new LibraryExplorer()).Show();
+ (new LibraryExplorer(_logger)).Show();
}
/// <summary>
@@ -325,11 +348,5 @@ namespace MediaBrowser.ServerApplication
}
#endregion
-
- private void cmdApiDocs_Click_1(object sender, RoutedEventArgs e)
- {
-
- }
-
}
}
diff --git a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
index 2463e440e..b2d4f353e 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardInfoWebSocketListener.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Kernel;
using MediaBrowser.Controller;
+using MediaBrowser.Model.Logging;
using System.ComponentModel.Composition;
using System.Threading.Tasks;
@@ -21,6 +22,17 @@ namespace MediaBrowser.WebDashboard.Api
}
/// <summary>
+ /// Initializes a new instance of the <see cref="DashboardInfoWebSocketListener" /> class.
+ /// </summary>
+ /// <param name="logger">The logger.</param>
+ [ImportingConstructor]
+ public DashboardInfoWebSocketListener([Import("logger")] ILogger logger)
+ : base(logger)
+ {
+
+ }
+
+ /// <summary>
/// Gets the data to send.
/// </summary>
/// <param name="state">The state.</param>