From 0f8b3c634708ce8e7b2e2ae6fed87b6b943b5bca Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 13 Dec 2018 14:18:25 +0100 Subject: Use Microsoft.Extensions.Logging abstraction --- .../Activity/ActivityLogEntryPoint.cs | 10 +- .../Activity/ActivityManager.cs | 2 +- .../Activity/ActivityRepository.cs | 8 +- .../AppBase/BaseConfigurationManager.cs | 10 +- Emby.Server.Implementations/ApplicationHost.cs | 230 +++++++------ .../Channels/ChannelManager.cs | 30 +- .../Channels/ChannelPostScanTask.cs | 4 +- .../Channels/RefreshChannelsScheduledTask.cs | 2 +- .../Collections/CollectionManager.cs | 6 +- .../Configuration/ServerConfigurationManager.cs | 8 +- .../Data/BaseSqliteRepository.cs | 16 +- .../Data/CleanDatabaseScheduledTask.cs | 8 +- .../Data/SqliteDisplayPreferencesRepository.cs | 6 +- .../Data/SqliteItemRepository.cs | 32 +- .../Data/SqliteUserDataRepository.cs | 4 +- .../Data/SqliteUserRepository.cs | 6 +- Emby.Server.Implementations/Devices/DeviceId.cs | 8 +- .../Devices/DeviceManager.cs | 4 +- Emby.Server.Implementations/Dto/DtoService.cs | 14 +- .../EntryPoints/AutomaticRestartEntryPoint.cs | 8 +- .../EntryPoints/ExternalPortForwarding.cs | 18 +- .../EntryPoints/KeepServerAwake.cs | 4 +- .../EntryPoints/LibraryChangedNotifier.cs | 6 +- .../EntryPoints/RecordingNotifier.cs | 4 +- .../EntryPoints/ServerEventNotifier.cs | 4 +- .../EntryPoints/StartupWizard.cs | 4 +- .../EntryPoints/UdpServerEntryPoint.cs | 4 +- .../EntryPoints/UsageEntryPoint.cs | 6 +- .../EntryPoints/UsageReporter.cs | 4 +- .../EntryPoints/UserDataChangeNotifier.cs | 2 +- .../EnvironmentInfo/EnvironmentInfo.cs | 2 +- Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs | 2 +- .../HttpClientManager/HttpClientManager.cs | 20 +- .../HttpServer/FileWriter.cs | 6 +- .../HttpServer/HttpListenerHost.cs | 24 +- .../HttpServer/HttpResultFactory.cs | 6 +- .../HttpServer/LoggerUtils.cs | 8 +- .../HttpServer/RangeRequestWriter.cs | 4 +- .../HttpServer/ResponseFilter.cs | 4 +- .../HttpServer/StreamWriter.cs | 2 +- .../HttpServer/WebSocketConnection.cs | 4 +- Emby.Server.Implementations/IO/FileRefresher.cs | 16 +- Emby.Server.Implementations/IO/LibraryMonitor.cs | 28 +- .../IO/ManagedFileSystem.cs | 6 +- Emby.Server.Implementations/IO/StreamHelper.cs | 2 +- .../Library/ConnectManager.cs | 46 +++ .../Library/CoreResolutionIgnoreRule.cs | 2 +- .../Library/LibraryManager.cs | 68 ++-- .../Library/LiveStreamHelper.cs | 10 +- .../Library/MediaSourceManager.cs | 22 +- .../Library/Resolvers/Audio/MusicAlbumResolver.cs | 4 +- .../Library/Resolvers/Audio/MusicArtistResolver.cs | 2 +- .../Library/Resolvers/BaseVideoResolver.cs | 2 +- .../Library/Resolvers/Movies/MovieResolver.cs | 2 +- .../Library/Resolvers/TV/SeasonResolver.cs | 4 +- .../Library/Resolvers/TV/SeriesResolver.cs | 10 +- .../Library/SearchEngine.cs | 6 +- .../Library/UserDataManager.cs | 6 +- Emby.Server.Implementations/Library/UserManager.cs | 20 +- .../Library/Validators/ArtistsPostScanTask.cs | 2 +- .../Library/Validators/ArtistsValidator.cs | 6 +- .../Library/Validators/GameGenresPostScanTask.cs | 2 +- .../Library/Validators/GameGenresValidator.cs | 4 +- .../Library/Validators/GenresPostScanTask.cs | 2 +- .../Library/Validators/GenresValidator.cs | 4 +- .../Library/Validators/MusicGenresPostScanTask.cs | 2 +- .../Library/Validators/MusicGenresValidator.cs | 4 +- .../Library/Validators/PeopleValidator.cs | 10 +- .../Library/Validators/StudiosPostScanTask.cs | 2 +- .../Library/Validators/StudiosValidator.cs | 6 +- .../LiveTv/EmbyTV/DirectRecorder.cs | 12 +- .../LiveTv/EmbyTV/EmbyTV.cs | 94 +++--- .../LiveTv/EmbyTV/EncodedRecorder.cs | 31 +- .../LiveTv/EmbyTV/ItemDataProvider.cs | 6 +- .../LiveTv/EmbyTV/SeriesTimerManager.cs | 2 +- .../LiveTv/EmbyTV/TimerManager.cs | 12 +- .../LiveTv/Listings/SchedulesDirect.cs | 32 +- .../LiveTv/LiveTvDtoService.cs | 4 +- .../LiveTv/LiveTvManager.cs | 30 +- .../LiveTv/LiveTvMediaSourceProvider.cs | 8 +- .../LiveTv/TunerHosts/BaseTunerHost.cs | 14 +- .../LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs | 6 +- .../TunerHosts/HdHomerun/HdHomerunManager.cs | 4 +- .../TunerHosts/HdHomerun/HdHomerunUdpStream.cs | 14 +- .../LiveTv/TunerHosts/LiveStream.cs | 20 +- .../LiveTv/TunerHosts/M3UTunerHost.cs | 4 +- .../LiveTv/TunerHosts/M3uParser.cs | 6 +- .../LiveTv/TunerHosts/SharedHttpStream.cs | 19 +- .../Localization/LocalizationManager.cs | 4 +- .../Logging/ConsoleLogger.cs | 13 - .../Logging/SimpleLogManager.cs | 360 --------------------- .../Logging/UnhandledExceptionWriter.cs | 45 --- .../MediaEncoder/EncodingManager.cs | 10 +- Emby.Server.Implementations/Net/SocketFactory.cs | 2 +- .../Networking/NetworkManager.cs | 24 +- Emby.Server.Implementations/News/NewsEntryPoint.cs | 4 +- .../Playlists/PlaylistManager.cs | 2 +- Emby.Server.Implementations/ResourceFileManager.cs | 4 +- .../ScheduledTasks/ChapterImagesTask.cs | 6 +- .../ScheduledTasks/DailyTrigger.cs | 4 +- .../ScheduledTasks/IntervalTrigger.cs | 2 +- .../ScheduledTasks/PluginUpdateTask.cs | 142 ++++++++ .../ScheduledTasks/ScheduledTaskWorker.cs | 30 +- .../ScheduledTasks/StartupTrigger.cs | 2 +- .../ScheduledTasks/SystemEventTrigger.cs | 2 +- .../ScheduledTasks/SystemUpdateTask.cs | 8 +- .../ScheduledTasks/TaskManager.cs | 14 +- .../ScheduledTasks/Tasks/DeleteCacheFileTask.cs | 10 +- .../ScheduledTasks/Tasks/ReloadLoggerFileTask.cs | 110 ------- .../ScheduledTasks/WeeklyTrigger.cs | 2 +- .../Security/AuthenticationRepository.cs | 4 +- .../Security/PluginSecurityManager.cs | 12 +- .../Serialization/JsonSerializer.cs | 4 +- .../Serialization/XmlSerializer.cs | 6 +- .../Services/ServiceController.cs | 4 +- .../Services/ServiceHandler.cs | 5 +- .../Services/ServicePath.cs | 14 +- .../Session/SessionManager.cs | 44 +-- .../Session/SessionWebSocketListener.cs | 10 +- .../Session/WebSocketController.cs | 2 +- Emby.Server.Implementations/SystemEvents.cs | 2 +- .../TextEncoding/TextEncoding.cs | 8 +- Emby.Server.Implementations/Udp/UdpServer.cs | 16 +- .../Updates/InstallationManager.cs | 16 +- 124 files changed, 884 insertions(+), 1235 deletions(-) create mode 100644 Emby.Server.Implementations/Library/ConnectManager.cs delete mode 100644 Emby.Server.Implementations/Logging/ConsoleLogger.cs delete mode 100644 Emby.Server.Implementations/Logging/SimpleLogManager.cs delete mode 100644 Emby.Server.Implementations/Logging/UnhandledExceptionWriter.cs create mode 100644 Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs delete mode 100644 Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs b/Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs index e4b65b58d..3f7b907a9 100644 --- a/Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs +++ b/Emby.Server.Implementations/Activity/ActivityLogEntryPoint.cs @@ -10,7 +10,7 @@ using MediaBrowser.Controller.Session; using MediaBrowser.Controller.Subtitles; using MediaBrowser.Model.Activity; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; using MediaBrowser.Model.Updates; using System; @@ -129,7 +129,7 @@ namespace Emby.Server.Implementations.Activity if (item == null) { - //_logger.Warn("PlaybackStopped reported with null media info."); + //_logger.LogWarning("PlaybackStopped reported with null media info."); return; } @@ -160,7 +160,7 @@ namespace Emby.Server.Implementations.Activity if (item == null) { - //_logger.Warn("PlaybackStart reported with null media info."); + //_logger.LogWarning("PlaybackStart reported with null media info."); return; } @@ -284,7 +284,7 @@ namespace Emby.Server.Implementations.Activity Name = string.Format(_localization.GetLocalizedString("FailedLoginAttemptWithUserName"), e.Argument.Username), Type = "AuthenticationFailed", ShortOverview = string.Format(_localization.GetLocalizedString("LabelIpAddressValue"), e.Argument.RemoteEndPoint), - Severity = LogSeverity.Error + Severity = LogLevel.Error }); } @@ -468,7 +468,7 @@ namespace Emby.Server.Implementations.Activity Type = NotificationType.TaskFailed.ToString(), Overview = string.Join(Environment.NewLine, vals.ToArray()), ShortOverview = runningTime, - Severity = LogSeverity.Error + Severity = LogLevel.Error }); } } diff --git a/Emby.Server.Implementations/Activity/ActivityManager.cs b/Emby.Server.Implementations/Activity/ActivityManager.cs index 047bebf23..b0c841397 100644 --- a/Emby.Server.Implementations/Activity/ActivityManager.cs +++ b/Emby.Server.Implementations/Activity/ActivityManager.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Model.Activity; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using System; using System.Linq; diff --git a/Emby.Server.Implementations/Activity/ActivityRepository.cs b/Emby.Server.Implementations/Activity/ActivityRepository.cs index 7f76d724b..a84d6d45f 100644 --- a/Emby.Server.Implementations/Activity/ActivityRepository.cs +++ b/Emby.Server.Implementations/Activity/ActivityRepository.cs @@ -6,7 +6,7 @@ using System.Linq; using Emby.Server.Implementations.Data; using MediaBrowser.Controller; using MediaBrowser.Model.Activity; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using SQLitePCL.pretty; using MediaBrowser.Model.Extensions; @@ -34,7 +34,7 @@ namespace Emby.Server.Implementations.Activity } catch (Exception ex) { - Logger.ErrorException("Error loading database file. Will reset and retry.", ex); + Logger.LogError("Error loading database file. Will reset and retry.", ex); FileSystem.DeleteFile(DbFilePath); @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.Activity } catch (Exception ex) { - Logger.ErrorException("Error migrating activity log database", ex); + Logger.LogError("Error migrating activity log database", ex); } } @@ -308,7 +308,7 @@ namespace Emby.Server.Implementations.Activity index++; if (reader[index].SQLiteType != SQLiteType.Null) { - info.Severity = (LogSeverity)Enum.Parse(typeof(LogSeverity), reader[index].ToString(), true); + info.Severity = (LogLevel)Enum.Parse(typeof(LogLevel), reader[index].ToString(), true); } return info; diff --git a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs index 385b4bd51..f55da91a8 100644 --- a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs +++ b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs @@ -9,7 +9,7 @@ using MediaBrowser.Common.Events; using MediaBrowser.Common.Extensions; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; namespace Emby.Server.Implementations.AppBase @@ -99,12 +99,12 @@ namespace Emby.Server.Implementations.AppBase /// The application paths. /// The log manager. /// The XML serializer. - protected BaseConfigurationManager(IApplicationPaths applicationPaths, ILogManager logManager, IXmlSerializer xmlSerializer, IFileSystem fileSystem) + protected BaseConfigurationManager(IApplicationPaths applicationPaths, ILoggerFactory loggerFactory, IXmlSerializer xmlSerializer, IFileSystem fileSystem) { CommonApplicationPaths = applicationPaths; XmlSerializer = xmlSerializer; FileSystem = fileSystem; - Logger = logManager.GetLogger(GetType().Name); + Logger = loggerFactory.CreateLogger(GetType().Name); UpdateCachePath(); } @@ -123,7 +123,7 @@ namespace Emby.Server.Implementations.AppBase /// public void SaveConfiguration() { - Logger.Info("Saving system configuration"); + Logger.LogInformation("Saving system configuration"); var path = CommonApplicationPaths.SystemConfigurationFilePath; FileSystem.CreateDirectory(FileSystem.GetDirectoryName(path)); @@ -259,7 +259,7 @@ namespace Emby.Server.Implementations.AppBase } catch (Exception ex) { - Logger.ErrorException("Error loading configuration file: {0}", ex, path); + Logger.LogError("Error loading configuration file: {0}", ex, path); return Activator.CreateInstance(configurationType); } diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index ad15b015d..455e4c311 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -80,7 +80,7 @@ using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Events; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Net; using MediaBrowser.Model.News; @@ -202,10 +202,10 @@ namespace Emby.Server.Implementations public IPlugin[] Plugins { get; protected set; } /// - /// Gets or sets the log manager. + /// Gets or sets the logger factory. /// - /// The log manager. - public ILogManager LogManager { get; protected set; } + /// The logger factory. + public ILoggerFactory LoggerFactory { get; protected set; } /// /// Gets the application paths. @@ -275,12 +275,12 @@ namespace Emby.Server.Implementations /// IConfigurationManager. protected IConfigurationManager GetConfigurationManager() { - return new ServerConfigurationManager(ApplicationPaths, LogManager, XmlSerializer, FileSystemManager); + return new ServerConfigurationManager(ApplicationPaths, LoggerFactory, XmlSerializer, FileSystemManager); } protected virtual IResourceFileManager CreateResourceFileManager() { - return new ResourceFileManager(HttpResultFactory, LogManager.GetLogger("ResourceManager"), FileSystemManager); + return new ResourceFileManager(HttpResultFactory, LoggerFactory.CreateLogger("ResourceManager"), FileSystemManager); } /// @@ -391,7 +391,7 @@ namespace Emby.Server.Implementations /// Initializes a new instance of the class. /// public ApplicationHost(ServerApplicationPaths applicationPaths, - ILogManager logManager, + ILoggerFactory loggerFactory, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, @@ -405,7 +405,7 @@ namespace Emby.Server.Implementations // hack alert, until common can target .net core BaseExtensions.CryptographyProvider = CryptographyProvider; - XmlSerializer = new MyXmlSerializer(fileSystem, logManager.GetLogger("XmlSerializer")); + XmlSerializer = new MyXmlSerializer(fileSystem, LoggerFactory.CreateLogger("XmlSerializer")); NetworkManager = networkManager; networkManager.LocalSubnetsFn = GetConfiguredLocalSubnets; @@ -413,13 +413,13 @@ namespace Emby.Server.Implementations SystemEvents = systemEvents; ApplicationPaths = applicationPaths; - LogManager = logManager; + LoggerFactory = loggerFactory; FileSystemManager = fileSystem; ConfigurationManager = GetConfigurationManager(); // Initialize this early in case the -v command line option is used - Logger = LogManager.GetLogger("App"); + Logger = LoggerFactory.CreateLogger("App"); StartupOptions = options; ReleaseAssetFilename = releaseAssetFilename; @@ -427,7 +427,7 @@ namespace Emby.Server.Implementations ImageEncoder = imageEncoder; - SetBaseExceptionMessage(); + //SetBaseExceptionMessage(); fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); @@ -480,7 +480,7 @@ namespace Emby.Server.Implementations { if (_deviceId == null) { - _deviceId = new DeviceId(ApplicationPaths, LogManager.GetLogger("SystemId"), FileSystemManager); + _deviceId = new DeviceId(ApplicationPaths, LoggerFactory.CreateLogger("SystemId"), FileSystemManager); } return _deviceId.Value; @@ -545,7 +545,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error creating {0}", ex, type.FullName); + Logger.LogError("Error creating {0}", ex, type.FullName); // Don't blow up in release mode return null; } @@ -625,7 +625,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error loading assembly {0}", ex, file); + Logger.LogError("Error loading assembly {0}", ex, file); return null; } } @@ -693,7 +693,7 @@ namespace Emby.Server.Implementations return parts; } - + /*/ private void SetBaseExceptionMessage() { var builder = GetBaseExceptionMessage(ApplicationPaths); @@ -701,8 +701,8 @@ namespace Emby.Server.Implementations builder.Insert(0, string.Format("Version: {0}{1}", ApplicationVersion, Environment.NewLine)); builder.Insert(0, "*** Error Report ***" + Environment.NewLine); - LogManager.ExceptionMessagePrefix = builder.ToString(); - } + LoggerFactory.ExceptionMessagePrefix = builder.ToString(); + }*/ /// /// Runs the startup tasks. @@ -726,20 +726,20 @@ namespace Emby.Server.Implementations // } //} - Logger.Info("ServerId: {0}", SystemId); + Logger.LogInformation("ServerId: {0}", SystemId); var entryPoints = GetExports(); RunEntryPoints(entryPoints, true); - Logger.Info("Core startup complete"); + Logger.LogInformation("Core startup complete"); HttpServer.GlobalResponse = null; - Logger.Info("Post-init migrations complete"); + Logger.LogInformation("Post-init migrations complete"); RunEntryPoints(entryPoints, false); - Logger.Info("All entry points have started"); + Logger.LogInformation("All entry points have started"); - LogManager.RemoveConsoleOutput(); + //LoggerFactory.RemoveConsoleOutput(); } private void RunEntryPoints(IEnumerable entryPoints, bool isBeforeStartup) @@ -752,7 +752,7 @@ namespace Emby.Server.Implementations } var name = entryPoint.GetType().FullName; - Logger.Info("Starting entry point {0}", name); + Logger.LogInformation("Starting entry point {0}", name); var now = DateTime.UtcNow; try { @@ -760,9 +760,9 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error in {0}", ex, name); + Logger.LogError("Error in {0}", ex, name); } - Logger.Info("Entry point completed: {0}. Duration: {1} seconds", name, (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture), "ImageInfos"); + Logger.LogInformation("Entry point completed: {0}. Duration: {1} seconds", name, (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture), "ImageInfos"); } } @@ -777,13 +777,13 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error configuring autorun", ex); + Logger.LogError("Error configuring autorun", ex); } } private IJsonSerializer CreateJsonSerializer() { - return new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer")); + return new JsonSerializer(FileSystemManager, LoggerFactory.CreateLogger("JsonSerializer")); } public void Init() @@ -799,13 +799,13 @@ namespace Emby.Server.Implementations } JsonSerializer = CreateJsonSerializer(); - + /* OnLoggerLoaded(true); - LogManager.LoggerLoaded += (s, e) => OnLoggerLoaded(false); + LoggerFactory.LoggerLoaded += (s, e) => OnLoggerLoaded(false); - LogManager.LogSeverity = ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging + LoggerFactory.LogSeverity = ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging ? LogSeverity.Debug - : LogSeverity.Info; + : LogSeverity.Info;*/ DiscoverTypes(); @@ -815,10 +815,10 @@ namespace Emby.Server.Implementations FindParts(); } - + /* protected virtual void OnLoggerLoaded(bool isFirstLoad) { - Logger.Info("Application version: {0}", ApplicationVersion); + Logger.LogInformation("Application version: {0}", ApplicationVersion); if (!isFirstLoad) { @@ -836,11 +836,11 @@ namespace Emby.Server.Implementations Logger.LogMultiline("Plugins:", LogSeverity.Info, pluginBuilder); } - } + }*/ protected virtual IHttpClient CreateHttpClient() { - return new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, GetDefaultUserAgent); + return new HttpClientManager.HttpClientManager(ApplicationPaths, LoggerFactory.CreateLogger("HttpClient"), FileSystemManager, GetDefaultUserAgent); } public static IStreamHelper StreamHelper { get; set; } @@ -858,7 +858,7 @@ namespace Emby.Server.Implementations RegisterSingleInstance(JsonSerializer); RegisterSingleInstance(SystemEvents); - RegisterSingleInstance(LogManager, false); + RegisterSingleInstance(LoggerFactory, false); RegisterSingleInstance(Logger); RegisterSingleInstance(EnvironmentInfo); @@ -873,7 +873,7 @@ namespace Emby.Server.Implementations IsoManager = new IsoManager(); RegisterSingleInstance(IsoManager); - TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LogManager.GetLogger("TaskManager"), FileSystemManager, SystemEvents); + TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LoggerFactory.CreateLogger("TaskManager"), FileSystemManager, SystemEvents); RegisterSingleInstance(TaskManager); RegisterSingleInstance(XmlSerializer); @@ -890,21 +890,21 @@ namespace Emby.Server.Implementations RegisterSingleInstance(CryptographyProvider); - SocketFactory = new SocketFactory(LogManager.GetLogger("SocketFactory")); + SocketFactory = new SocketFactory(LoggerFactory.CreateLogger("SocketFactory")); RegisterSingleInstance(SocketFactory); RegisterSingleInstance(PowerManagement); - SecurityManager = new PluginSecurityManager(this, HttpClient, JsonSerializer, ApplicationPaths, LogManager, FileSystemManager, CryptographyProvider); + SecurityManager = new PluginSecurityManager(this, HttpClient, JsonSerializer, ApplicationPaths, LoggerFactory, FileSystemManager, CryptographyProvider); RegisterSingleInstance(SecurityManager); - InstallationManager = new InstallationManager(LogManager.GetLogger("InstallationManager"), this, ApplicationPaths, HttpClient, JsonSerializer, SecurityManager, ServerConfigurationManager, FileSystemManager, CryptographyProvider, PackageRuntime); + InstallationManager = new InstallationManager(LoggerFactory.CreateLogger("InstallationManager"), this, ApplicationPaths, HttpClient, JsonSerializer, SecurityManager, ServerConfigurationManager, FileSystemManager, CryptographyProvider, PackageRuntime); RegisterSingleInstance(InstallationManager); ZipClient = new ZipClient(FileSystemManager); RegisterSingleInstance(ZipClient); - HttpResultFactory = new HttpResultFactory(LogManager, FileSystemManager, JsonSerializer, CreateBrotliCompressor()); + HttpResultFactory = new HttpResultFactory(LoggerFactory, FileSystemManager, JsonSerializer, CreateBrotliCompressor()); RegisterSingleInstance(HttpResultFactory); RegisterSingleInstance(this); @@ -915,36 +915,40 @@ namespace Emby.Server.Implementations IAssemblyInfo assemblyInfo = new AssemblyInfo(); RegisterSingleInstance(assemblyInfo); - LocalizationManager = new LocalizationManager(ServerConfigurationManager, FileSystemManager, JsonSerializer, LogManager.GetLogger("LocalizationManager"), assemblyInfo, new TextLocalizer()); + LocalizationManager = new LocalizationManager(ServerConfigurationManager, FileSystemManager, JsonSerializer, LoggerFactory.CreateLogger("LocalizationManager"), assemblyInfo, new TextLocalizer()); StringExtensions.LocalizationManager = LocalizationManager; RegisterSingleInstance(LocalizationManager); - TextEncoding = new TextEncoding.TextEncoding(FileSystemManager, LogManager.GetLogger("TextEncoding"), JsonSerializer); + TextEncoding = new TextEncoding.TextEncoding(FileSystemManager, LoggerFactory.CreateLogger("TextEncoding"), JsonSerializer); RegisterSingleInstance(TextEncoding); BlurayExaminer = new BdInfoExaminer(FileSystemManager, TextEncoding); RegisterSingleInstance(BlurayExaminer); RegisterSingleInstance(new XmlReaderSettingsFactory()); - UserDataManager = new UserDataManager(LogManager, ServerConfigurationManager, () => UserManager); + UserDataManager = new UserDataManager(LoggerFactory, ServerConfigurationManager, () => UserManager); RegisterSingleInstance(UserDataManager); UserRepository = GetUserRepository(); // This is only needed for disposal purposes. If removing this, make sure to have the manager handle disposing it RegisterSingleInstance(UserRepository); - var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LogManager.GetLogger("SqliteDisplayPreferencesRepository"), JsonSerializer, ApplicationPaths, FileSystemManager); + var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory.CreateLogger("SqliteDisplayPreferencesRepository"), JsonSerializer, ApplicationPaths, FileSystemManager); DisplayPreferencesRepository = displayPreferencesRepo; RegisterSingleInstance(DisplayPreferencesRepository); - var itemRepo = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LogManager.GetLogger("SqliteItemRepository"), assemblyInfo, FileSystemManager, EnvironmentInfo, TimerFactory); + var itemRepo = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LoggerFactory.CreateLogger("SqliteItemRepository"), assemblyInfo, FileSystemManager, EnvironmentInfo, TimerFactory); ItemRepository = itemRepo; RegisterSingleInstance(ItemRepository); AuthenticationRepository = GetAuthenticationRepository(); RegisterSingleInstance(AuthenticationRepository); +<<<<<<< HEAD UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager, CryptographyProvider); +======= + UserManager = new UserManager(LoggerFactory.CreateLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this, JsonSerializer, FileSystemManager, CryptographyProvider); +>>>>>>> Use Microsoft.Extensions.Logging abstraction RegisterSingleInstance(UserManager); LibraryManager = new LibraryManager(this, Logger, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager); @@ -953,16 +957,16 @@ namespace Emby.Server.Implementations var musicManager = new MusicManager(LibraryManager); RegisterSingleInstance(new MusicManager(LibraryManager)); - LibraryMonitor = new LibraryMonitor(LogManager, TaskManager, LibraryManager, ServerConfigurationManager, FileSystemManager, TimerFactory, SystemEvents, EnvironmentInfo); + LibraryMonitor = new LibraryMonitor(LoggerFactory, TaskManager, LibraryManager, ServerConfigurationManager, FileSystemManager, TimerFactory, SystemEvents, EnvironmentInfo); RegisterSingleInstance(LibraryMonitor); - RegisterSingleInstance(() => new SearchEngine(LogManager, LibraryManager, UserManager)); + RegisterSingleInstance(() => new SearchEngine(LoggerFactory, LibraryManager, UserManager)); CertificateInfo = GetCertificateInfo(true); Certificate = GetCertificate(CertificateInfo); HttpServer = new HttpListenerHost(this, - LogManager.GetLogger("HttpServer"), + LoggerFactory.CreateLogger("HttpServer"), ServerConfigurationManager, "web/index.html", NetworkManager, @@ -983,37 +987,37 @@ namespace Emby.Server.Implementations var encryptionManager = new EncryptionManager(); RegisterSingleInstance(encryptionManager); - DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LogManager.GetLogger("DeviceManager"), NetworkManager); + DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LoggerFactory.CreateLogger("DeviceManager"), NetworkManager); RegisterSingleInstance(DeviceManager); var newsService = new Emby.Server.Implementations.News.NewsService(ApplicationPaths, JsonSerializer); RegisterSingleInstance(newsService); - MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LogManager.GetLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory, () => MediaEncoder); + MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory.CreateLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory, () => MediaEncoder); RegisterSingleInstance(MediaSourceManager); - SubtitleManager = new SubtitleManager(LogManager.GetLogger("SubtitleManager"), FileSystemManager, LibraryMonitor, MediaSourceManager, ServerConfigurationManager, LocalizationManager); + SubtitleManager = new SubtitleManager(LoggerFactory.CreateLogger("SubtitleManager"), FileSystemManager, LibraryMonitor, MediaSourceManager, ServerConfigurationManager, LocalizationManager); RegisterSingleInstance(SubtitleManager); - ProviderManager = new ProviderManager(HttpClient, SubtitleManager, ServerConfigurationManager, LibraryMonitor, LogManager, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer); + ProviderManager = new ProviderManager(HttpClient, SubtitleManager, ServerConfigurationManager, LibraryMonitor, LoggerFactory, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer); RegisterSingleInstance(ProviderManager); - DtoService = new DtoService(LogManager.GetLogger("DtoService"), LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, this, () => DeviceManager, () => MediaSourceManager, () => LiveTvManager); + DtoService = new DtoService(LoggerFactory.CreateLogger("DtoService"), LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, this, () => DeviceManager, () => MediaSourceManager, () => LiveTvManager); RegisterSingleInstance(DtoService); - ChannelManager = new ChannelManager(UserManager, DtoService, LibraryManager, LogManager.GetLogger("ChannelManager"), ServerConfigurationManager, FileSystemManager, UserDataManager, JsonSerializer, LocalizationManager, HttpClient, ProviderManager); + ChannelManager = new ChannelManager(UserManager, DtoService, LibraryManager, LoggerFactory.CreateLogger("ChannelManager"), ServerConfigurationManager, FileSystemManager, UserDataManager, JsonSerializer, LocalizationManager, HttpClient, ProviderManager); RegisterSingleInstance(ChannelManager); - SessionManager = new SessionManager(UserDataManager, LogManager.GetLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager, TimerFactory); + SessionManager = new SessionManager(UserDataManager, LoggerFactory.CreateLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager, TimerFactory); RegisterSingleInstance(SessionManager); - var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LogManager.GetLogger("Dlna"), JsonSerializer, this, assemblyInfo); + var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LoggerFactory.CreateLogger("Dlna"), JsonSerializer, this, assemblyInfo); RegisterSingleInstance(dlnaManager); - CollectionManager = new CollectionManager(LibraryManager, ApplicationPaths, LocalizationManager, FileSystemManager, LibraryMonitor, LogManager.GetLogger("CollectionManager"), ProviderManager); + CollectionManager = new CollectionManager(LibraryManager, ApplicationPaths, LocalizationManager, FileSystemManager, LibraryMonitor, LoggerFactory.CreateLogger("CollectionManager"), ProviderManager); RegisterSingleInstance(CollectionManager); - PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LogManager.GetLogger("PlaylistManager"), UserManager, ProviderManager); + PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LoggerFactory.CreateLogger("PlaylistManager"), UserManager, ProviderManager); RegisterSingleInstance(PlaylistManager); LiveTvManager = new LiveTvManager(this, HttpClient, ServerConfigurationManager, Logger, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager, LibraryManager, TaskManager, LocalizationManager, JsonSerializer, ProviderManager, FileSystemManager, SecurityManager, () => ChannelManager); @@ -1022,12 +1026,12 @@ namespace Emby.Server.Implementations UserViewManager = new UserViewManager(LibraryManager, LocalizationManager, UserManager, ChannelManager, LiveTvManager, ServerConfigurationManager); RegisterSingleInstance(UserViewManager); - NotificationManager = new NotificationManager(LogManager, UserManager, ServerConfigurationManager); + NotificationManager = new NotificationManager(LoggerFactory, UserManager, ServerConfigurationManager); RegisterSingleInstance(NotificationManager); - RegisterSingleInstance(new DeviceDiscovery(LogManager.GetLogger("IDeviceDiscovery"), ServerConfigurationManager, SocketFactory, TimerFactory)); + RegisterSingleInstance(new DeviceDiscovery(LoggerFactory.CreateLogger("IDeviceDiscovery"), ServerConfigurationManager, SocketFactory, TimerFactory)); - ChapterManager = new ChapterManager(LibraryManager, LogManager.GetLogger("ChapterManager"), ServerConfigurationManager, ItemRepository); + ChapterManager = new ChapterManager(LibraryManager, LoggerFactory.CreateLogger("ChapterManager"), ServerConfigurationManager, ItemRepository); RegisterSingleInstance(ChapterManager); RegisterMediaEncoder(assemblyInfo); @@ -1037,7 +1041,7 @@ namespace Emby.Server.Implementations var activityLogRepo = GetActivityLogRepository(); RegisterSingleInstance(activityLogRepo); - RegisterSingleInstance(new ActivityManager(LogManager.GetLogger("ActivityManager"), activityLogRepo, UserManager)); + RegisterSingleInstance(new ActivityManager(LoggerFactory.CreateLogger("ActivityManager"), activityLogRepo, UserManager)); var authContext = new AuthorizationContext(AuthenticationRepository, UserManager); RegisterSingleInstance(authContext); @@ -1046,14 +1050,14 @@ namespace Emby.Server.Implementations AuthService = new AuthService(UserManager, authContext, ServerConfigurationManager, SessionManager, NetworkManager); RegisterSingleInstance(AuthService); - SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LogManager.GetLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory, TextEncoding); + SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LoggerFactory.CreateLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory, TextEncoding); RegisterSingleInstance(SubtitleEncoder); RegisterSingleInstance(CreateResourceFileManager()); displayPreferencesRepo.Initialize(); - var userDataRepo = new SqliteUserDataRepository(LogManager.GetLogger("SqliteUserDataRepository"), ApplicationPaths, FileSystemManager); + var userDataRepo = new SqliteUserDataRepository(LoggerFactory.CreateLogger("SqliteUserDataRepository"), ApplicationPaths, FileSystemManager); SetStaticProperties(); @@ -1082,9 +1086,9 @@ namespace Emby.Server.Implementations } } - public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup) + public static void LogEnvironmentInfo(ILogger Logger, IApplicationPaths appPaths, bool isStartup) { - logger.LogMultiline("Emby", LogSeverity.Info, GetBaseExceptionMessage(appPaths)); + Logger.LogInformation("Jellyfin:\n{ex}", GetBaseExceptionMessage(appPaths).ToString()); } protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths) @@ -1103,17 +1107,6 @@ namespace Emby.Server.Implementations builder.AppendLine(string.Format("64-Bit OS: {0}", Environment.Is64BitOperatingSystem)); builder.AppendLine(string.Format("64-Bit Process: {0}", Environment.Is64BitProcess)); builder.AppendLine(string.Format("User Interactive: {0}", Environment.UserInteractive)); - - Type type = Type.GetType("Mono.Runtime"); - if (type != null) - { - MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static); - if (displayName != null) - { - builder.AppendLine("Mono: " + displayName.Invoke(null, null)); - } - } - builder.AppendLine(string.Format("Processor count: {0}", Environment.ProcessorCount)); builder.AppendLine(string.Format("Program data path: {0}", appPaths.ProgramDataPath)); builder.AppendLine(string.Format("Application directory: {0}", appPaths.ProgramSystemPath)); @@ -1130,7 +1123,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error setting http limit", ex); + Logger.LogError("Error setting http limit", ex); } } @@ -1189,7 +1182,7 @@ namespace Emby.Server.Implementations //localCert.PrivateKey = PrivateKey.CreateFromFile(pvk_file).RSA; if (!localCert.HasPrivateKey) { - Logger.Error("No private key included in SSL cert {0}.", certificateLocation); + Logger.LogError("No private key included in SSL cert {0}.", certificateLocation); return null; } @@ -1197,14 +1190,14 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error loading cert from {0}", ex, certificateLocation); + Logger.LogError("Error loading cert from {0}", ex, certificateLocation); return null; } } private IImageProcessor GetImageProcessor() { - return new ImageProcessor(LogManager.GetLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer, ImageEncoder, () => LibraryManager, TimerFactory, () => MediaEncoder); + return new ImageProcessor(LoggerFactory.CreateLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer, ImageEncoder, () => LibraryManager, TimerFactory, () => MediaEncoder); } protected virtual FFMpegInstallInfo GetFfmpegInstallInfo() @@ -1262,7 +1255,8 @@ namespace Emby.Server.Implementations probePath = info.ProbePath; var hasExternalEncoder = string.Equals(info.Version, "external", StringComparison.OrdinalIgnoreCase); - var mediaEncoder = new MediaBrowser.MediaEncoding.Encoder.MediaEncoder(LogManager.GetLogger("MediaEncoder"), + var mediaEncoder = new MediaBrowser.MediaEncoding.Encoder.MediaEncoder( + LoggerFactory.CreateLogger("MediaEncoder"), JsonSerializer, encoderPath, probePath, @@ -1292,7 +1286,7 @@ namespace Emby.Server.Implementations /// Task{IUserRepository}. private IUserRepository GetUserRepository() { - var repo = new SqliteUserRepository(LogManager.GetLogger("SqliteUserRepository"), ApplicationPaths, JsonSerializer); + var repo = new SqliteUserRepository(LoggerFactory.CreateLogger("SqliteUserRepository"), ApplicationPaths, JsonSerializer); repo.Initialize(); @@ -1301,7 +1295,7 @@ namespace Emby.Server.Implementations private IAuthenticationRepository GetAuthenticationRepository() { - var repo = new AuthenticationRepository(LogManager.GetLogger("AuthenticationRepository"), ServerConfigurationManager); + var repo = new AuthenticationRepository(LoggerFactory.CreateLogger("AuthenticationRepository"), ServerConfigurationManager); repo.Initialize(); @@ -1310,7 +1304,7 @@ namespace Emby.Server.Implementations private IActivityRepository GetActivityLogRepository() { - var repo = new ActivityRepository(LogManager.GetLogger("ActivityRepository"), ServerConfigurationManager.ApplicationPaths, FileSystemManager); + var repo = new ActivityRepository(LoggerFactory.CreateLogger("ActivityRepository"), ServerConfigurationManager.ApplicationPaths, FileSystemManager); repo.Initialize(); @@ -1325,7 +1319,7 @@ namespace Emby.Server.Implementations ((SqliteItemRepository)ItemRepository).ImageProcessor = ImageProcessor; // For now there's no real way to inject these properly - BaseItem.Logger = LogManager.GetLogger("BaseItem"); + BaseItem.Logger = LoggerFactory.CreateLogger("BaseItem"); BaseItem.ConfigurationManager = ServerConfigurationManager; BaseItem.LibraryManager = LibraryManager; BaseItem.ProviderManager = ProviderManager; @@ -1425,7 +1419,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error getting plugin Id from {0}.", ex, plugin.GetType().FullName); + Logger.LogError("Error getting plugin Id from {0}.", ex, plugin.GetType().FullName); } } @@ -1437,7 +1431,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error loading plugin {0}", ex, plugin.GetType().FullName); + Logger.LogError("Error loading plugin {0}", ex, plugin.GetType().FullName); return null; } @@ -1449,7 +1443,7 @@ namespace Emby.Server.Implementations /// protected void DiscoverTypes() { - Logger.Info("Loading assemblies"); + Logger.LogInformation("Loading assemblies"); var assemblyInfos = GetComposablePartAssemblies(); @@ -1460,11 +1454,11 @@ namespace Emby.Server.Implementations if (path == null) { - Logger.Info("Loading {0}", assembly.FullName); + Logger.LogInformation("Loading {0}", assembly.FullName); } else { - Logger.Info("Loading {0} from {1}", assembly.FullName, path); + Logger.LogInformation("Loading {0} from {1}", assembly.FullName, path); } } @@ -1506,7 +1500,7 @@ namespace Emby.Server.Implementations { if (loaderException != null) { - Logger.Error("LoaderException: " + loaderException.Message); + Logger.LogError("LoaderException: " + loaderException.Message); } } } @@ -1517,7 +1511,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error loading types from assembly", ex); + Logger.LogError("Error loading types from assembly", ex); return new List>(); } @@ -1564,7 +1558,7 @@ namespace Emby.Server.Implementations ? "The http server is unable to start due to a Socket error. This can occasionally happen when the operating system takes longer than usual to release the IP bindings from the previous session. This can take up to five minutes. Please try waiting or rebooting the system." : "Error starting Http Server"; - Logger.ErrorException(msg, ex); + Logger.LogError(msg, ex); if (HttpPort == ServerConfiguration.DefaultHttpPort) { @@ -1580,7 +1574,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error starting http server", ex); + Logger.LogError("Error starting http server", ex); throw; } @@ -1615,7 +1609,7 @@ namespace Emby.Server.Implementations // } // catch (Exception ex) // { - // Logger.ErrorException("Error creating ssl cert", ex); + // Logger.LogError("Error creating ssl cert", ex); // return null; // } // } @@ -1672,7 +1666,7 @@ namespace Emby.Server.Implementations if (requiresRestart) { - Logger.Info("App needs to be restarted due to configuration change."); + Logger.LogInformation("App needs to be restarted due to configuration change."); NotifyPendingRestart(); } @@ -1683,7 +1677,7 @@ namespace Emby.Server.Implementations /// public void NotifyPendingRestart() { - Logger.Info("App needs to be restarted."); + Logger.LogInformation("App needs to be restarted."); var changed = !HasPendingRestart; @@ -1720,10 +1714,10 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error sending server restart notification", ex); + Logger.LogError("Error sending server restart notification", ex); } - Logger.Info("Calling RestartInternal"); + Logger.LogInformation("Calling RestartInternal"); RestartInternal(); }); @@ -1849,13 +1843,13 @@ namespace Emby.Server.Implementations { var result = Version.Parse(FileVersionInfo.GetVersionInfo(path).FileVersion); - Logger.Info("File {0} has version {1}", path, result); + Logger.LogInformation("File {0} has version {1}", path, result); return result; } catch (Exception ex) { - Logger.ErrorException("Error getting version number from {0}", ex, path); + Logger.LogError("Error getting version number from {0}", ex, path); return new Version(1, 0); } @@ -1940,13 +1934,13 @@ namespace Emby.Server.Implementations if (version < minRequiredVersion) { - Logger.Info("Not loading {0} {1} because the minimum supported version is {2}. Please update to the newer version", filename, version, minRequiredVersion); + Logger.LogInformation("Not loading {0} {1} because the minimum supported version is {2}. Please update to the newer version", filename, version, minRequiredVersion); return false; } } catch (Exception ex) { - Logger.ErrorException("Error getting version number from {0}", ex, path); + Logger.LogError("Error getting version number from {0}", ex, path); return false; } @@ -2053,7 +2047,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error getting local Ip address information", ex); + Logger.LogError("Error getting local Ip address information", ex); } return null; @@ -2210,19 +2204,19 @@ namespace Emby.Server.Implementations var valid = string.Equals(Name, result, StringComparison.OrdinalIgnoreCase); _validAddressResults.AddOrUpdate(apiUrl, valid, (k, v) => valid); - Logger.Debug("Ping test result to {0}. Success: {1}", apiUrl, valid); + Logger.LogDebug("Ping test result to {0}. Success: {1}", apiUrl, valid); return valid; } } } catch (OperationCanceledException) { - Logger.Debug("Ping test result to {0}. Success: {1}", apiUrl, "Cancelled"); + Logger.LogDebug("Ping test result to {0}. Success: {1}", apiUrl, "Cancelled"); throw; } catch (Exception ex) { - Logger.Debug("Ping test result to {0}. Success: {1} {2}", apiUrl, false, ex.Message); + Logger.LogDebug("Ping test result to {0}. Success: {1} {2}", apiUrl, false, ex.Message); _validAddressResults.AddOrUpdate(apiUrl, false, (k, v) => false); return false; @@ -2261,7 +2255,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error sending server shutdown notification", ex); + Logger.LogError("Error sending server shutdown notification", ex); } ShutdownInternal(); @@ -2274,7 +2268,7 @@ namespace Emby.Server.Implementations /// private void RegisterServerWithAdministratorAccess() { - Logger.Info("Requesting administrative access to authorize http server"); + Logger.LogInformation("Requesting administrative access to authorize http server"); try { @@ -2286,7 +2280,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error authorizing server", ex); + Logger.LogError("Error authorizing server", ex); } } @@ -2454,7 +2448,7 @@ namespace Emby.Server.Implementations catch (Exception ex) { Console.WriteLine("Error launching url: {0}", url); - Logger.ErrorException("Error launching url: {0}", ex, url); + Logger.LogError("Error launching url: {0}", ex, url); throw; } @@ -2475,7 +2469,7 @@ namespace Emby.Server.Implementations /// The package. protected void OnApplicationUpdated(PackageVersionInfo package) { - Logger.Info("Application has been updated to version {0}", package.versionStr); + Logger.LogInformation("Application has been updated to version {0}", package.versionStr); EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs { @@ -2510,15 +2504,15 @@ namespace Emby.Server.Implementations { var type = GetType(); - LogManager.AddConsoleOutput(); - Logger.Info("Disposing " + type.Name); + //LoggerFactory.AddConsoleOutput(); + Logger.LogInformation("Disposing " + type.Name); var parts = DisposableParts.Distinct().Where(i => i.GetType() != type).ToList(); DisposableParts.Clear(); foreach (var part in parts) { - Logger.Info("Disposing " + part.GetType().Name); + Logger.LogInformation("Disposing " + part.GetType().Name); try { @@ -2526,7 +2520,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.ErrorException("Error disposing {0}", ex, part.GetType().Name); + Logger.LogError("Error disposing {0}", ex, part.GetType().Name); } } } diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs index dfc9c3474..aa04c98f0 100644 --- a/Emby.Server.Implementations/Channels/ChannelManager.cs +++ b/Emby.Server.Implementations/Channels/ChannelManager.cs @@ -10,7 +10,7 @@ using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Extensions; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Net; using MediaBrowser.Model.Querying; @@ -300,7 +300,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.ErrorException("Error getting channel information for {0}", ex, channelInfo.Name); + _logger.LogError("Error getting channel information for {0}", ex, channelInfo.Name); } numComplete++; @@ -709,7 +709,7 @@ namespace Emby.Server.Implementations.Channels // Not yet sure why this is causing a problem query.GroupByPresentationUniqueKey = false; - //_logger.Debug("GetChannelItemsInternal"); + //_logger.LogDebug("GetChannelItemsInternal"); // null if came from cache if (itemsResult != null) @@ -849,7 +849,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.ErrorException("Error writing to channel cache file: {0}", ex, path); + _logger.LogError("Error writing to channel cache file: {0}", ex, path); } } @@ -912,7 +912,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.ErrorException("Error retrieving channel item from database", ex); + _logger.LogError("Error retrieving channel item from database", ex); } if (item == null) @@ -1051,7 +1051,7 @@ namespace Emby.Server.Implementations.Channels { if (!info.TrailerTypes.SequenceEqual(trailer.TrailerTypes)) { - _logger.Debug("Forcing update due to TrailerTypes {0}", item.Name); + _logger.LogDebug("Forcing update due to TrailerTypes {0}", item.Name); forceUpdate = true; } trailer.TrailerTypes = info.TrailerTypes.ToArray(); @@ -1060,7 +1060,7 @@ namespace Emby.Server.Implementations.Channels if (info.DateModified > item.DateModified) { item.DateModified = info.DateModified; - _logger.Debug("Forcing update due to DateModified {0}", item.Name); + _logger.LogDebug("Forcing update due to DateModified {0}", item.Name); forceUpdate = true; } @@ -1069,20 +1069,20 @@ namespace Emby.Server.Implementations.Channels //{ // item.ExternalEtag = info.Etag; // forceUpdate = true; - // _logger.Debug("Forcing update due to ExternalEtag {0}", item.Name); + // _logger.LogDebug("Forcing update due to ExternalEtag {0}", item.Name); //} if (!internalChannelId.Equals(item.ChannelId)) { forceUpdate = true; - _logger.Debug("Forcing update due to ChannelId {0}", item.Name); + _logger.LogDebug("Forcing update due to ChannelId {0}", item.Name); } item.ChannelId = internalChannelId; if (!item.ParentId.Equals(parentFolderId)) { forceUpdate = true; - _logger.Debug("Forcing update due to parent folder Id {0}", item.Name); + _logger.LogDebug("Forcing update due to parent folder Id {0}", item.Name); } item.ParentId = parentFolderId; @@ -1092,7 +1092,7 @@ namespace Emby.Server.Implementations.Channels if (!string.Equals(hasSeries.SeriesName, info.SeriesName, StringComparison.OrdinalIgnoreCase)) { forceUpdate = true; - _logger.Debug("Forcing update due to SeriesName {0}", item.Name); + _logger.LogDebug("Forcing update due to SeriesName {0}", item.Name); } hasSeries.SeriesName = info.SeriesName; } @@ -1100,7 +1100,7 @@ namespace Emby.Server.Implementations.Channels if (!string.Equals(item.ExternalId, info.Id, StringComparison.OrdinalIgnoreCase)) { forceUpdate = true; - _logger.Debug("Forcing update due to ExternalId {0}", item.Name); + _logger.LogDebug("Forcing update due to ExternalId {0}", item.Name); } item.ExternalId = info.Id; @@ -1125,7 +1125,7 @@ namespace Emby.Server.Implementations.Channels if (!string.IsNullOrEmpty(info.ImageUrl) && !item.HasImage(ImageType.Primary)) { item.SetImagePath(ImageType.Primary, info.ImageUrl); - _logger.Debug("Forcing update due to ImageUrl {0}", item.Name); + _logger.LogDebug("Forcing update due to ImageUrl {0}", item.Name); forceUpdate = true; } @@ -1134,7 +1134,7 @@ namespace Emby.Server.Implementations.Channels if (item.Tags.Contains("livestream", StringComparer.OrdinalIgnoreCase)) { item.Tags = item.Tags.Except(new[] { "livestream" }, StringComparer.OrdinalIgnoreCase).ToArray(); - _logger.Debug("Forcing update due to Tags {0}", item.Name); + _logger.LogDebug("Forcing update due to Tags {0}", item.Name); forceUpdate = true; } } @@ -1143,7 +1143,7 @@ namespace Emby.Server.Implementations.Channels if (!item.Tags.Contains("livestream", StringComparer.OrdinalIgnoreCase)) { item.Tags = item.Tags.Concat(new[] { "livestream" }).ToArray(); - _logger.Debug("Forcing update due to Tags {0}", item.Name); + _logger.LogDebug("Forcing update due to Tags {0}", item.Name); forceUpdate = true; } } diff --git a/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs b/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs index b211908d8..bd717bc6a 100644 --- a/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs +++ b/Emby.Server.Implementations/Channels/ChannelPostScanTask.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -64,7 +64,7 @@ namespace Emby.Server.Implementations.Channels private void CleanChannel(Guid id, CancellationToken cancellationToken) { - _logger.Info("Cleaning channel {0} from database", id); + _logger.LogInformation("Cleaning channel {0} from database", id); // Delete all channel items var allIds = _libraryManager.GetItemIds(new InternalItemsQuery diff --git a/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs b/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs index 9d1b751d7..ab6acf3c5 100644 --- a/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs +++ b/Emby.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs @@ -1,6 +1,6 @@ using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading; diff --git a/Emby.Server.Implementations/Collections/CollectionManager.cs b/Emby.Server.Implementations/Collections/CollectionManager.cs index bcfc58ca1..155d7ed4a 100644 --- a/Emby.Server.Implementations/Collections/CollectionManager.cs +++ b/Emby.Server.Implementations/Collections/CollectionManager.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.IO; @@ -265,7 +265,7 @@ namespace Emby.Server.Implementations.Collections if (child == null) { - _logger.Warn("No collection title exists with the supplied Id"); + _logger.LogWarning("No collection title exists with the supplied Id"); continue; } @@ -365,7 +365,7 @@ namespace Emby.Server.Implementations.Collections } catch (Exception ex) { - _logger.ErrorException("Error creating camera uploads library", ex); + _logger.LogError("Error creating camera uploads library", ex); } _config.Configuration.CollectionsUpgraded = true; diff --git a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs index 47e2ec0a8..26a7c421f 100644 --- a/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs +++ b/Emby.Server.Implementations/Configuration/ServerConfigurationManager.cs @@ -14,7 +14,7 @@ using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Events; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Extensions; @@ -30,11 +30,11 @@ namespace Emby.Server.Implementations.Configuration /// Initializes a new instance of the class. /// /// The application paths. - /// The log manager. + /// The paramref name="loggerFactory" factory. /// The XML serializer. /// The file system. - public ServerConfigurationManager(IApplicationPaths applicationPaths, ILogManager logManager, IXmlSerializer xmlSerializer, IFileSystem fileSystem) - : base(applicationPaths, logManager, xmlSerializer, fileSystem) + public ServerConfigurationManager(IApplicationPaths applicationPaths, ILoggerFactory loggerFactory, IXmlSerializer xmlSerializer, IFileSystem fileSystem) + : base(applicationPaths, loggerFactory, xmlSerializer, fileSystem) { UpdateMetadataPath(); } diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs index 76ebff3a8..8e59596dd 100644 --- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs +++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Globalization; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using SQLitePCL.pretty; using System.Linq; using SQLitePCL; @@ -75,22 +75,22 @@ namespace Emby.Server.Implementations.Data if (!_versionLogged) { _versionLogged = true; - Logger.Info("Sqlite version: " + SQLite3.Version); - Logger.Info("Sqlite compiler options: " + string.Join(",", SQLite3.CompilerOptions.ToArray())); + Logger.LogInformation("Sqlite version: " + SQLite3.Version); + Logger.LogInformation("Sqlite compiler options: " + string.Join(",", SQLite3.CompilerOptions.ToArray())); } ConnectionFlags connectionFlags; if (isReadOnly) { - //Logger.Info("Opening read connection"); + //Logger.LogInformation("Opening read connection"); //connectionFlags = ConnectionFlags.ReadOnly; connectionFlags = ConnectionFlags.Create; connectionFlags |= ConnectionFlags.ReadWrite; } else { - //Logger.Info("Opening write connection"); + //Logger.LogInformation("Opening write connection"); connectionFlags = ConnectionFlags.Create; connectionFlags |= ConnectionFlags.ReadWrite; } @@ -114,7 +114,7 @@ namespace Emby.Server.Implementations.Data { _defaultWal = db.Query("PRAGMA journal_mode").SelectScalarString().First(); - Logger.Info("Default journal_mode for {0} is {1}", DbFilePath, _defaultWal); + Logger.LogInformation("Default journal_mode for {0} is {1}", DbFilePath, _defaultWal); } var queries = new List @@ -235,7 +235,7 @@ namespace Emby.Server.Implementations.Data } db.ExecuteAll(string.Join(";", queries.ToArray())); - Logger.Info("PRAGMA synchronous=" + db.Query("PRAGMA synchronous").SelectScalarString().First()); + Logger.LogInformation("PRAGMA synchronous=" + db.Query("PRAGMA synchronous").SelectScalarString().First()); } protected virtual bool EnableTempStoreMemory @@ -323,7 +323,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.ErrorException("Error disposing database", ex); + Logger.LogError("Error disposing database", ex); } } diff --git a/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs b/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs index 8611cabc1..536cf21f6 100644 --- a/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs +++ b/Emby.Server.Implementations/Data/CleanDatabaseScheduledTask.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; @@ -47,7 +47,7 @@ namespace Emby.Server.Implementations.Data var numComplete = 0; var numItems = itemIds.Count; - _logger.Debug("Cleaning {0} items with dead parent links", numItems); + _logger.LogDebug("Cleaning {0} items with dead parent links", numItems); foreach (var itemId in itemIds) { @@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Data if (item != null) { - _logger.Info("Cleaning item {0} type: {1} path: {2}", item.Name, item.GetType().Name, item.Path ?? string.Empty); + _logger.LogInformation("Cleaning item {0} type: {1} path: {2}", item.Name, item.GetType().Name, item.Path ?? string.Empty); _libraryManager.DeleteItem(item, new DeleteOptions { @@ -75,4 +75,4 @@ namespace Emby.Server.Implementations.Data progress.Report(100); } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs b/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs index 09ff7e09d..307342135 100644 --- a/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs @@ -7,7 +7,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using SQLitePCL.pretty; @@ -53,7 +53,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.ErrorException("Error loading database file. Will reset and retry.", ex); + Logger.LogError("Error loading database file. Will reset and retry.", ex); FileSystem.DeleteFile(DbFilePath); @@ -251,4 +251,4 @@ namespace Emby.Server.Implementations.Data return GetDisplayPreferences(displayPreferencesId, new Guid(userId), client); } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 50cd69304..7239eec93 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -24,7 +24,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Reflection; @@ -667,7 +667,7 @@ namespace Emby.Server.Implementations.Data var userDataKey = tuple.Item4; SaveItem(item, topParent, userDataKey, saveItemStatement); - //Logger.Debug(_saveItemCommand.CommandText); + //logger.LogDebug(_saveItemCommand.CommandText); var inheritedTags = tuple.Item5; @@ -886,12 +886,12 @@ namespace Emby.Server.Implementations.Data if (topParent != null) { - //Logger.Debug("Item {0} has top parent {1}", item.Id, topParent.Id); + //logger.LogDebug("Item {0} has top parent {1}", item.Id, topParent.Id); saveItemStatement.TryBind("@TopParentId", topParent.Id.ToString("N")); } else { - //Logger.Debug("Item {0} has null top parent", item.Id); + //logger.LogDebug("Item {0} has null top parent", item.Id); saveItemStatement.TryBindNull("@TopParentId"); } @@ -1230,7 +1230,7 @@ namespace Emby.Server.Implementations.Data } CheckDisposed(); - //Logger.Info("Retrieving item {0}", id.ToString("N")); + //logger.LogInformation("Retrieving item {0}", id.ToString("N")); using (WriteLock.Read()) { using (var connection = CreateConnection(true)) @@ -1345,7 +1345,7 @@ namespace Emby.Server.Implementations.Data if (type == null) { - //Logger.Debug("Unknown type {0}", typeString); + //logger.LogDebug("Unknown type {0}", typeString); return null; } @@ -1364,7 +1364,7 @@ namespace Emby.Server.Implementations.Data } catch (SerializationException ex) { - Logger.ErrorException("Error deserializing item", ex); + Logger.LogError("Error deserializing item", ex); } } } @@ -2686,7 +2686,7 @@ namespace Emby.Server.Implementations.Data CheckDisposed(); - //Logger.Info("GetItemList: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItemList: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -2744,7 +2744,7 @@ namespace Emby.Server.Implementations.Data CheckDisposed(); - //Logger.Info("GetItemList: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItemList: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -2910,14 +2910,14 @@ namespace Emby.Server.Implementations.Data if (elapsed >= slowThreshold) { - Logger.Debug("{2} query time (slow): {0}ms. Query: {1}", + Logger.LogDebug("{2} query time (slow): {0}ms. Query: {1}", Convert.ToInt32(elapsed), commandText, methodName); } else { - //Logger.Debug("{2} query time: {0}ms. Query: {1}", + //logger.LogDebug("{2} query time: {0}ms. Query: {1}", // Convert.ToInt32(elapsed), // commandText, // methodName); @@ -2942,7 +2942,7 @@ namespace Emby.Server.Implementations.Data TotalRecordCount = returnList.Count }; } - //Logger.Info("GetItems: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItems: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -3216,7 +3216,7 @@ namespace Emby.Server.Implementations.Data } CheckDisposed(); - //Logger.Info("GetItemIdsList: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItemIdsList: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -3376,7 +3376,7 @@ namespace Emby.Server.Implementations.Data TotalRecordCount = returnList.Count }; } - //Logger.Info("GetItemIds: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItemIds: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -5565,7 +5565,7 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type } CheckDisposed(); - //Logger.Info("GetItemValues: " + _environmentInfo.StackTrace); + //logger.LogInformation("GetItemValues: " + _environmentInfo.StackTrace); var now = DateTime.UtcNow; @@ -5734,7 +5734,7 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type var list = new List>(); var result = new QueryResult>(); - //Logger.Info("GetItemValues {0}", string.Join(";", statementTexts.ToArray())); + //logger.LogInformation("GetItemValues {0}", string.Join(";", statementTexts.ToArray())); var statements = PrepareAllSafe(db, statementTexts); if (!isReturningZeroItems) diff --git a/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs b/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs index 07d64a2b0..6d4ddcedd 100644 --- a/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteUserDataRepository.cs @@ -7,7 +7,7 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using SQLitePCL.pretty; using MediaBrowser.Controller.Library; @@ -416,4 +416,4 @@ namespace Emby.Server.Implementations.Data // handled by library database } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Data/SqliteUserRepository.cs b/Emby.Server.Implementations/Data/SqliteUserRepository.cs index da828aa11..9ac255ec4 100644 --- a/Emby.Server.Implementations/Data/SqliteUserRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteUserRepository.cs @@ -6,7 +6,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using SQLitePCL.pretty; @@ -74,7 +74,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.ErrorException("Error migrating users database", ex); + Logger.LogError("Error migrating users database", ex); } } @@ -233,4 +233,4 @@ namespace Emby.Server.Implementations.Data } } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Devices/DeviceId.cs b/Emby.Server.Implementations/Devices/DeviceId.cs index 5e0323ddb..fe953bfb9 100644 --- a/Emby.Server.Implementations/Devices/DeviceId.cs +++ b/Emby.Server.Implementations/Devices/DeviceId.cs @@ -3,7 +3,7 @@ using System.IO; using System.Text; using MediaBrowser.Common.Configuration; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Devices { @@ -34,7 +34,7 @@ namespace Emby.Server.Implementations.Devices return value; } - _logger.Error("Invalid value found in device id file"); + _logger.LogError("Invalid value found in device id file"); } } catch (DirectoryNotFoundException) @@ -45,7 +45,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.ErrorException("Error reading file", ex); + _logger.LogError("Error reading file", ex); } return null; @@ -66,7 +66,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.ErrorException("Error writing to file", ex); + _logger.LogError("Error writing to file", ex); } } diff --git a/Emby.Server.Implementations/Devices/DeviceManager.cs b/Emby.Server.Implementations/Devices/DeviceManager.cs index 5c84590ae..c5c86f5b9 100644 --- a/Emby.Server.Implementations/Devices/DeviceManager.cs +++ b/Emby.Server.Implementations/Devices/DeviceManager.cs @@ -6,7 +6,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Model.Devices; using MediaBrowser.Model.Events; using MediaBrowser.Model.Extensions; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Session; @@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.ErrorException("Error creating camera uploads library", ex); + _logger.LogError("Error creating camera uploads library", ex); } _config.Configuration.CameraUploadUpgraded = true; diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 0831b1075..424309995 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -16,7 +16,7 @@ using MediaBrowser.Controller.Sync; using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using System; using System.Collections.Generic; @@ -225,7 +225,7 @@ namespace Emby.Server.Implementations.Dto catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - _logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); + _logger.LogError("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); } } @@ -547,7 +547,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.ErrorException("Error getting {0} image info", ex, type); + _logger.LogError("Error getting {0} image info", ex, type); return null; } } @@ -560,7 +560,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.ErrorException("Error getting {0} image info for {1}", ex, image.Type, image.Path); + _logger.LogError("Error getting {0} image info for {1}", ex, image.Type, image.Path); return null; } } @@ -619,7 +619,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.ErrorException("Error getting person {0}", ex, c); + _logger.LogError("Error getting person {0}", ex, c); return null; } @@ -1451,7 +1451,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - //_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, imageInfo.Path); + //_logger.LogError("Failed to determine primary image aspect ratio for {0}", ex, imageInfo.Path); return null; } } @@ -1464,7 +1464,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.ErrorException("Error in image enhancer: {0}", ex, enhancer.GetType().Name); + _logger.LogError("Error in image enhancer: {0}", ex, enhancer.GetType().Name); } } diff --git a/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs index 561f5ee12..cd5fca40d 100644 --- a/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; using System; using System.Linq; @@ -65,7 +65,7 @@ namespace Emby.Server.Implementations.EntryPoints { DisposeTimer(); - _logger.Info("Automatically restarting the system because it is idle and a restart is required."); + _logger.LogInformation("Automatically restarting the system because it is idle and a restart is required."); try { @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error restarting server", ex); + _logger.LogError("Error restarting server", ex); } } } @@ -98,7 +98,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error getting timers", ex); + _logger.LogError("Error getting timers", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index aa672a1b7..46fbc94fd 100644 --- a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -9,7 +9,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Threading; using Mono.Nat; using System.Threading; @@ -29,9 +29,9 @@ namespace Emby.Server.Implementations.EntryPoints private NatManager _natManager; - public ExternalPortForwarding(ILogManager logmanager, IServerApplicationHost appHost, IServerConfigurationManager config, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, ITimerFactory timerFactory) + public ExternalPortForwarding(ILoggerFactory loggerFactory, IServerApplicationHost appHost, IServerConfigurationManager config, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, ITimerFactory timerFactory) { - _logger = logmanager.GetLogger("PortMapper"); + _logger = loggerFactory.CreateLogger("PortMapper"); _appHost = appHost; _config = config; _deviceDiscovery = deviceDiscovery; @@ -84,7 +84,7 @@ namespace Emby.Server.Implementations.EntryPoints private void Start() { - _logger.Debug("Starting NAT discovery"); + _logger.LogDebug("Starting NAT discovery"); if (_natManager == null) { _natManager = new NatManager(_logger, _httpClient); @@ -139,7 +139,7 @@ namespace Emby.Server.Implementations.EntryPoints _usnsHandled.Add(identifier); } - _logger.Debug("Found NAT device: " + identifier); + _logger.LogDebug("Found NAT device: " + identifier); IPAddress address; if (IPAddress.TryParse(info.Location.Host, out address)) @@ -216,7 +216,7 @@ namespace Emby.Server.Implementations.EntryPoints catch { // Commenting out because users are reporting problems out of our control - //_logger.ErrorException("Error creating port forwarding rules", ex); + //_logger.LogError("Error creating port forwarding rules", ex); } } @@ -267,7 +267,7 @@ namespace Emby.Server.Implementations.EntryPoints private Task CreatePortMap(INatDevice device, int privatePort, int publicPort) { - _logger.Debug("Creating port map on local port {0} to public port {1} with device {2}", privatePort, publicPort, device.LocalAddress.ToString()); + _logger.LogDebug("Creating port map on local port {0} to public port {1} with device {2}", privatePort, publicPort, device.LocalAddress.ToString()); return device.CreatePortMap(new Mapping(Protocol.Tcp, privatePort, publicPort) { @@ -284,7 +284,7 @@ namespace Emby.Server.Implementations.EntryPoints private void DisposeNat() { - _logger.Debug("Stopping NAT discovery"); + _logger.LogDebug("Stopping NAT discovery"); if (_timer != null) { @@ -309,7 +309,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error stopping NAT Discovery", ex); + _logger.LogError("Error stopping NAT Discovery", ex); } } } diff --git a/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs b/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs index 8ae85e390..a9121ba32 100644 --- a/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs +++ b/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using MediaBrowser.Model.System; @@ -49,7 +49,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error resetting system standby timer", ex); + _logger.LogError("Error resetting system standby timer", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs index 9a2ae34bc..ff283667b 100644 --- a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Globalization; @@ -331,7 +331,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error in GetLibraryUpdateInfo", ex); + _logger.LogError("Error in GetLibraryUpdateInfo", ex); return; } @@ -346,7 +346,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error sending LibraryChanged message", ex); + _logger.LogError("Error sending LibraryChanged message", ex); } } } diff --git a/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs b/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs index d41d76c6b..24cd659e1 100644 --- a/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs @@ -5,7 +5,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.EntryPoints { @@ -66,7 +66,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Error sending message", ex); + _logger.LogError("Error sending message", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs index e5748989e..f6a74c4ec 100644 --- a/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs @@ -163,7 +163,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception) { - //Logger.ErrorException("Error sending message", ex); + //Logger.LogError("Error sending message", ex); } } @@ -179,7 +179,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception) { - //Logger.ErrorException("Error sending message", ex); + //Logger.LogError("Error sending message", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs index 6d73f98ad..ffd98bf78 100644 --- a/Emby.Server.Implementations/EntryPoints/StartupWizard.cs +++ b/Emby.Server.Implementations/EntryPoints/StartupWizard.cs @@ -1,7 +1,7 @@ using Emby.Server.Implementations.Browser; using MediaBrowser.Controller; using MediaBrowser.Controller.Plugins; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Controller.Configuration; namespace Emby.Server.Implementations.EntryPoints @@ -61,4 +61,4 @@ namespace Emby.Server.Implementations.EntryPoints { } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs index 5edc5fade..1bb11ce40 100644 --- a/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs @@ -1,7 +1,7 @@ using System; using MediaBrowser.Controller; using MediaBrowser.Controller.Plugins; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using Emby.Server.Implementations.Udp; using MediaBrowser.Model.Net; @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.ErrorException("Failed to start UDP Server", ex); + _logger.LogError("Failed to start UDP Server", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs index 450764040..ca79262b0 100644 --- a/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs @@ -3,7 +3,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -91,7 +91,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - //_logger.ErrorException("Error sending anonymous usage statistics.", ex); + //_logger.LogError("Error sending anonymous usage statistics.", ex); } } @@ -119,7 +119,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - //_logger.ErrorException("Error sending anonymous usage statistics.", ex); + //_logger.LogError("Error sending anonymous usage statistics.", ex); } } diff --git a/Emby.Server.Implementations/EntryPoints/UsageReporter.cs b/Emby.Server.Implementations/EntryPoints/UsageReporter.cs index d9c9e1a40..e962bb59b 100644 --- a/Emby.Server.Implementations/EntryPoints/UsageReporter.cs +++ b/Emby.Server.Implementations/EntryPoints/UsageReporter.cs @@ -9,7 +9,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.EntryPoints { @@ -75,7 +75,7 @@ namespace Emby.Server.Implementations.EntryPoints throw new ArgumentException("Client info must have a device Id"); } - _logger.Info("App Activity: app: {0}, version: {1}, deviceId: {2}, deviceName: {3}", + _logger.LogInformation("App Activity: app: {0}, version: {1}, deviceId: {2}, deviceName: {3}", app.AppName ?? "Unknown App", app.AppVersion ?? "Unknown", app.DeviceId, diff --git a/Emby.Server.Implementations/EntryPoints/UserDataChangeNotifier.cs b/Emby.Server.Implementations/EntryPoints/UserDataChangeNotifier.cs index 36e29e46a..58309ea1c 100644 --- a/Emby.Server.Implementations/EntryPoints/UserDataChangeNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/UserDataChangeNotifier.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Session; using System; using System.Collections.Generic; diff --git a/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs index 583e93706..765505109 100644 --- a/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs +++ b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs @@ -92,4 +92,4 @@ namespace Emby.Server.Implementations.EnvironmentInfo Environment.SetEnvironmentVariable(name, value); } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs b/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs index fe1df0953..5f043e127 100644 --- a/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs +++ b/Emby.Server.Implementations/FFMpeg/FFMpegLoader.cs @@ -1,7 +1,7 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Net; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.IO; diff --git a/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs index d53606e87..b3f8ef884 100644 --- a/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs +++ b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs @@ -14,7 +14,7 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Net; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Controller.IO; @@ -131,7 +131,7 @@ namespace Emby.Server.Implementations.HttpClientManager var userInfo = uriAddress.UserInfo; if (!string.IsNullOrWhiteSpace(userInfo)) { - _logger.Info("Found userInfo in url: {0} ... url: {1}", userInfo, url); + _logger.LogInformation("Found userInfo in url: {0} ... url: {1}", userInfo, url); url = url.Replace(userInfo + "@", string.Empty); } @@ -421,11 +421,11 @@ namespace Emby.Server.Implementations.HttpClientManager { if (options.LogRequestAsDebug) { - _logger.Debug("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url); + _logger.LogDebug("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url); } else { - _logger.Info("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url); + _logger.LogInformation("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url); } } @@ -595,11 +595,11 @@ namespace Emby.Server.Implementations.HttpClientManager { if (options.LogRequestAsDebug) { - _logger.Debug("HttpClientManager.GetTempFileResponse url: {0}", options.Url); + _logger.LogDebug("HttpClientManager.GetTempFileResponse url: {0}", options.Url); } else { - _logger.Info("HttpClientManager.GetTempFileResponse url: {0}", options.Url); + _logger.LogInformation("HttpClientManager.GetTempFileResponse url: {0}", options.Url); } } @@ -685,7 +685,7 @@ namespace Emby.Server.Implementations.HttpClientManager { if (options.LogErrors) { - _logger.ErrorException("Error " + webException.Status + " getting response from " + options.Url, webException); + _logger.LogError("Error " + webException.Status + " getting response from " + options.Url, webException); } var exception = new HttpException(webException.Message, webException); @@ -723,7 +723,7 @@ namespace Emby.Server.Implementations.HttpClientManager if (options.LogErrors) { - _logger.ErrorException("Error getting response from " + options.Url, ex); + _logger.LogError("Error getting response from " + options.Url, ex); } return ex; @@ -789,7 +789,7 @@ namespace Emby.Server.Implementations.HttpClientManager if (options.LogErrors) { - _logger.Error(msg); + _logger.LogError(msg); } client.LastTimeout = DateTime.UtcNow; @@ -824,7 +824,7 @@ namespace Emby.Server.Implementations.HttpClientManager { var msg = reader.ReadToEnd(); - _logger.Error(msg); + _logger.LogError(msg); } } } diff --git a/Emby.Server.Implementations/HttpServer/FileWriter.cs b/Emby.Server.Implementations/HttpServer/FileWriter.cs index 353ba5282..1a875e533 100644 --- a/Emby.Server.Implementations/HttpServer/FileWriter.cs +++ b/Emby.Server.Implementations/HttpServer/FileWriter.cs @@ -5,7 +5,7 @@ using System.Net; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Services; using System.Linq; @@ -102,7 +102,7 @@ namespace Emby.Server.Implementations.HttpServer var rangeString = string.Format("bytes {0}-{1}/{2}", RangeStart, RangeEnd, TotalContentLength); Headers["Content-Range"] = rangeString; - Logger.Info("Setting range response values for {0}. RangeRequest: {1} Content-Length: {2}, Content-Range: {3}", Path, RangeHeader, lengthString, rangeString); + Logger.LogInformation("Setting range response values for {0}. RangeRequest: {1} Content-Length: {2}, Content-Range: {3}", Path, RangeHeader, lengthString, rangeString); } /// @@ -173,7 +173,7 @@ namespace Emby.Server.Implementations.HttpServer if (extension == null || !SkipLogExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase)) { - Logger.Debug("Transmit file {0}", path); + Logger.LogDebug("Transmit file {0}", path); } //var count = FileShare == FileShareMode.ReadWrite ? TotalContentLength : 0; diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 70a233c6f..2a353584c 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -1,7 +1,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Globalization; @@ -252,11 +252,11 @@ namespace Emby.Server.Implementations.HttpServer if (logExceptionStackTrace) { - _logger.ErrorException("Error processing request", ex); + _logger.LogError("Error processing request", ex); } else if (logExceptionMessage) { - _logger.Error(ex.Message); + _logger.LogError(ex.Message); } var httpRes = httpReq.Response; @@ -274,7 +274,7 @@ namespace Emby.Server.Implementations.HttpServer } catch { - //_logger.ErrorException("Error this.ProcessRequest(context)(Exception while writing error to the response)", errorEx); + //_logger.LogError("Error this.ProcessRequest(context)(Exception while writing error to the response)", errorEx); } } @@ -320,10 +320,10 @@ namespace Emby.Server.Implementations.HttpServer if (_listener != null) { - _logger.Info("Stopping HttpListener..."); + _logger.LogInformation("Stopping HttpListener..."); var task = _listener.Stop(); Task.WaitAll(task); - _logger.Info("HttpListener stopped"); + _logger.LogInformation("HttpListener stopped"); } } @@ -713,7 +713,7 @@ namespace Emby.Server.Implementations.HttpServer var pathParts = pathInfo.TrimStart('/').Split('/'); if (pathParts.Length == 0) { - _logger.Error("Path parts empty for PathInfo: {0}, Url: {1}", pathInfo, httpReq.RawUrl); + _logger.LogError("Path parts empty for PathInfo: {0}, Url: {1}", pathInfo, httpReq.RawUrl); return null; } @@ -729,7 +729,7 @@ namespace Emby.Server.Implementations.HttpServer }; } - _logger.Error("Could not find handler for {0}", pathInfo); + _logger.LogError("Could not find handler for {0}", pathInfo); return null; } @@ -783,7 +783,7 @@ namespace Emby.Server.Implementations.HttpServer ServiceController = new ServiceController(); - _logger.Info("Calling ServiceStack AppHost.Init"); + _logger.LogInformation("Calling ServiceStack AppHost.Init"); var types = services.Select(r => r.GetType()).ToArray(); @@ -853,7 +853,7 @@ namespace Emby.Server.Implementations.HttpServer //using (var reader = new StreamReader(stream)) //{ // var json = reader.ReadToEnd(); - // Logger.Info(json); + // logger.LogInformation(json); // return _jsonSerializer.DeserializeFromString(json, type); //} return _jsonSerializer.DeserializeFromStreamAsync(stream, type); @@ -919,7 +919,7 @@ namespace Emby.Server.Implementations.HttpServer return Task.CompletedTask; } - //_logger.Debug("Websocket message received: {0}", result.MessageType); + //_logger.LogDebug("Websocket message received: {0}", result.MessageType); var tasks = _webSocketListeners.Select(i => Task.Run(async () => { @@ -929,7 +929,7 @@ namespace Emby.Server.Implementations.HttpServer } catch (Exception ex) { - _logger.ErrorException("{0} failed processing WebSocket message {1}", ex, i.GetType().Name, result.MessageType ?? string.Empty); + _logger.LogError("{0} failed processing WebSocket message {1}", ex, i.GetType().Name, result.MessageType ?? string.Empty); } })); diff --git a/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs b/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs index a0a471cb2..73b2afe64 100644 --- a/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs +++ b/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs @@ -1,6 +1,6 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; @@ -37,12 +37,12 @@ namespace Emby.Server.Implementations.HttpServer /// /// Initializes a new instance of the class. /// - public HttpResultFactory(ILogManager logManager, IFileSystem fileSystem, IJsonSerializer jsonSerializer, IBrotliCompressor brotliCompressor) + public HttpResultFactory(ILoggerFactory loggerfactory, IFileSystem fileSystem, IJsonSerializer jsonSerializer, IBrotliCompressor brotliCompressor) { _fileSystem = fileSystem; _jsonSerializer = jsonSerializer; _brotliCompressor = brotliCompressor; - _logger = logManager.GetLogger("HttpResultFactory"); + _logger = loggerfactory.CreateLogger("HttpResultFactory"); } /// diff --git a/Emby.Server.Implementations/HttpServer/LoggerUtils.cs b/Emby.Server.Implementations/HttpServer/LoggerUtils.cs index 3aa48efd4..5b7bbe79c 100644 --- a/Emby.Server.Implementations/HttpServer/LoggerUtils.cs +++ b/Emby.Server.Implementations/HttpServer/LoggerUtils.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Globalization; using MediaBrowser.Model.Services; @@ -11,7 +11,7 @@ namespace Emby.Server.Implementations.HttpServer { if (headers == null) { - logger.Info("{0} {1}. UserAgent: {2}", "HTTP " + method, url, userAgent ?? string.Empty); + logger.LogInformation("{0} {1}. UserAgent: {2}", "HTTP " + method, url, userAgent ?? string.Empty); } else { @@ -30,7 +30,7 @@ namespace Emby.Server.Implementations.HttpServer index++; } - logger.Info("HTTP {0} {1}. {2}", method, url, headerText); + logger.LogInformation("HTTP {0} {1}. {2}", method, url, headerText); } } @@ -49,7 +49,7 @@ namespace Emby.Server.Implementations.HttpServer //var headerText = headers == null ? string.Empty : "Headers: " + string.Join(", ", headers.Where(i => i.Name.IndexOf("Access-", StringComparison.OrdinalIgnoreCase) == -1).Select(i => i.Name + "=" + i.Value).ToArray()); var headerText = string.Empty; - logger.Info("HTTP Response {0} to {1}. Time: {2}{3}. {4} {5}", statusCode, endPoint, Convert.ToInt32(durationMs).ToString(CultureInfo.InvariantCulture), logSuffix, url, headerText); + logger.LogInformation("HTTP Response {0} to {1}. Time: {2}{3}. {4} {5}", statusCode, endPoint, Convert.ToInt32(durationMs).ToString(CultureInfo.InvariantCulture), logSuffix, url, headerText); } } } diff --git a/Emby.Server.Implementations/HttpServer/RangeRequestWriter.cs b/Emby.Server.Implementations/HttpServer/RangeRequestWriter.cs index 4177c7e78..dc20ee1a2 100644 --- a/Emby.Server.Implementations/HttpServer/RangeRequestWriter.cs +++ b/Emby.Server.Implementations/HttpServer/RangeRequestWriter.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Globalization; @@ -226,4 +226,4 @@ namespace Emby.Server.Implementations.HttpServer public string StatusDescription { get; set; } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/HttpServer/ResponseFilter.cs b/Emby.Server.Implementations/HttpServer/ResponseFilter.cs index 385d19b6b..b1759069c 100644 --- a/Emby.Server.Implementations/HttpServer/ResponseFilter.cs +++ b/Emby.Server.Implementations/HttpServer/ResponseFilter.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Globalization; using System.Text; @@ -34,7 +34,7 @@ namespace Emby.Server.Implementations.HttpServer if (exception != null) { - _logger.ErrorException("Error processing request for {0}", exception, req.RawUrl); + _logger.LogError("Error processing request for {0}", exception, req.RawUrl); if (!string.IsNullOrEmpty(exception.Message)) { diff --git a/Emby.Server.Implementations/HttpServer/StreamWriter.cs b/Emby.Server.Implementations/HttpServer/StreamWriter.cs index 3f394d3ac..0a44a5fe5 100644 --- a/Emby.Server.Implementations/HttpServer/StreamWriter.cs +++ b/Emby.Server.Implementations/HttpServer/StreamWriter.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Globalization; diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs index d449e4424..ca8723dde 100644 --- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs +++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs @@ -1,7 +1,7 @@ using System.Text; using MediaBrowser.Common.Events; using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Serialization; using System; @@ -204,7 +204,7 @@ namespace Emby.Server.Implementations.HttpServer } catch (Exception ex) { - _logger.ErrorException("Error processing web socket message", ex); + _logger.LogError("Error processing web socket message", ex); } } diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs index 4be30f8b7..6087f3cf2 100644 --- a/Emby.Server.Implementations/IO/FileRefresher.cs +++ b/Emby.Server.Implementations/IO/FileRefresher.cs @@ -12,7 +12,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Extensions; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; using MediaBrowser.Model.Threading; @@ -38,7 +38,7 @@ namespace Emby.Server.Implementations.IO public FileRefresher(string path, IFileSystem fileSystem, IServerConfigurationManager configurationManager, ILibraryManager libraryManager, ITaskManager taskManager, ILogger logger, ITimerFactory timerFactory, IEnvironmentInfo environmentInfo, ILibraryManager libraryManager1) { - logger.Debug("New file refresher created for {0}", path); + logger.LogDebug("New file refresher created for {0}", path); Path = path; _fileSystem = fileSystem; @@ -108,7 +108,7 @@ namespace Emby.Server.Implementations.IO { lock (_timerLock) { - Logger.Debug("Resetting file refresher from {0} to {1}", Path, path); + Logger.LogDebug("Resetting file refresher from {0} to {1}", Path, path); Path = path; AddAffectedPath(path); @@ -130,7 +130,7 @@ namespace Emby.Server.Implementations.IO paths = _affectedPaths.ToList(); } - Logger.Debug("Timer stopped."); + Logger.LogDebug("Timer stopped."); DisposeTimer(); EventHelper.FireEventIfNotNull(Completed, this, EventArgs.Empty, Logger); @@ -141,7 +141,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Error processing directory changes", ex); + Logger.LogError("Error processing directory changes", ex); } } @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.IO continue; } - Logger.Info(item.Name + " (" + item.Path + ") will be refreshed."); + Logger.LogInformation(item.Name + " (" + item.Path + ") will be refreshed."); try { @@ -172,11 +172,11 @@ namespace Emby.Server.Implementations.IO // For now swallow and log. // Research item: If an IOException occurs, the item may be in a disconnected state (media unavailable) // Should we remove it from it's parent? - Logger.ErrorException("Error refreshing {0}", ex, item.Name); + Logger.LogError("Error refreshing {0}", ex, item.Name); } catch (Exception ex) { - Logger.ErrorException("Error refreshing {0}", ex, item.Name); + Logger.LogError("Error refreshing {0}", ex, item.Name); } } } diff --git a/Emby.Server.Implementations/IO/LibraryMonitor.cs b/Emby.Server.Implementations/IO/LibraryMonitor.cs index 00fe447f0..22d1783ed 100644 --- a/Emby.Server.Implementations/IO/LibraryMonitor.cs +++ b/Emby.Server.Implementations/IO/LibraryMonitor.cs @@ -9,7 +9,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; using MediaBrowser.Model.Threading; @@ -114,7 +114,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Error in ReportFileSystemChanged for {0}", ex, path); + Logger.LogError("Error in ReportFileSystemChanged for {0}", ex, path); } } } @@ -141,7 +141,7 @@ namespace Emby.Server.Implementations.IO /// /// Initializes a new instance of the class. /// - public LibraryMonitor(ILogManager logManager, ITaskManager taskManager, ILibraryManager libraryManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem, ITimerFactory timerFactory, ISystemEvents systemEvents, IEnvironmentInfo environmentInfo) + public LibraryMonitor(ILoggerFactory loggerFactory, ITaskManager taskManager, ILibraryManager libraryManager, IServerConfigurationManager configurationManager, IFileSystem fileSystem, ITimerFactory timerFactory, ISystemEvents systemEvents, IEnvironmentInfo environmentInfo) { if (taskManager == null) { @@ -150,7 +150,7 @@ namespace Emby.Server.Implementations.IO LibraryManager = libraryManager; TaskManager = taskManager; - Logger = logManager.GetLogger(GetType().Name); + Logger = loggerFactory.CreateLogger(GetType().Name); ConfigurationManager = configurationManager; _fileSystem = fileSystem; _timerFactory = timerFactory; @@ -291,7 +291,7 @@ namespace Emby.Server.Implementations.IO if (!_fileSystem.DirectoryExists(path)) { // Seeing a crash in the mono runtime due to an exception being thrown on a different thread - Logger.Info("Skipping realtime monitor for {0} because the path does not exist", path); + Logger.LogInformation("Skipping realtime monitor for {0} because the path does not exist", path); return; } @@ -344,7 +344,7 @@ namespace Emby.Server.Implementations.IO if (_fileSystemWatchers.TryAdd(path, newWatcher)) { newWatcher.EnableRaisingEvents = true; - Logger.Info("Watching directory " + path); + Logger.LogInformation("Watching directory " + path); } else { @@ -354,7 +354,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Error watching path: {0}", ex, path); + Logger.LogError("Error watching path: {0}", ex, path); } }); } @@ -382,7 +382,7 @@ namespace Emby.Server.Implementations.IO { using (watcher) { - Logger.Info("Stopping directory watching for path {0}", watcher.Path); + Logger.LogInformation("Stopping directory watching for path {0}", watcher.Path); watcher.Created -= watcher_Changed; watcher.Deleted -= watcher_Changed; @@ -439,7 +439,7 @@ namespace Emby.Server.Implementations.IO var ex = e.GetException(); var dw = (FileSystemWatcher)sender; - Logger.ErrorException("Error in Directory watcher for: " + dw.Path, ex); + Logger.LogError("Error in Directory watcher for: " + dw.Path, ex); DisposeWatcher(dw, true); } @@ -453,7 +453,7 @@ namespace Emby.Server.Implementations.IO { try { - //Logger.Debug("Changed detected of type " + e.ChangeType + " to " + e.FullPath); + //logger.LogDebug("Changed detected of type " + e.ChangeType + " to " + e.FullPath); var path = e.FullPath; @@ -461,7 +461,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Exception in ReportFileSystemChanged. Path: {0}", ex, e.FullPath); + Logger.LogError("Exception in ReportFileSystemChanged. Path: {0}", ex, e.FullPath); } } @@ -487,13 +487,13 @@ namespace Emby.Server.Implementations.IO { if (_fileSystem.AreEqual(i, path)) { - //Logger.Debug("Ignoring change to {0}", path); + //logger.LogDebug("Ignoring change to {0}", path); return true; } if (_fileSystem.ContainsSubPath(i, path)) { - //Logger.Debug("Ignoring change to {0}", path); + //logger.LogDebug("Ignoring change to {0}", path); return true; } @@ -503,7 +503,7 @@ namespace Emby.Server.Implementations.IO { if (_fileSystem.AreEqual(parent, path)) { - //Logger.Debug("Ignoring change to {0}", path); + //logger.LogDebug("Ignoring change to {0}", path); return true; } } diff --git a/Emby.Server.Implementations/IO/ManagedFileSystem.cs b/Emby.Server.Implementations/IO/ManagedFileSystem.cs index 66d7802c6..42b9ae23b 100644 --- a/Emby.Server.Implementations/IO/ManagedFileSystem.cs +++ b/Emby.Server.Implementations/IO/ManagedFileSystem.cs @@ -5,7 +5,7 @@ using System.IO; using System.Linq; using System.Text; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; namespace Emby.Server.Implementations.IO @@ -395,7 +395,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Error determining CreationTimeUtc for {0}", ex, info.FullName); + Logger.LogError("Error determining CreationTimeUtc for {0}", ex, info.FullName); return DateTime.MinValue; } } @@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.ErrorException("Error determining LastAccessTimeUtc for {0}", ex, info.FullName); + Logger.LogError("Error determining LastAccessTimeUtc for {0}", ex, info.FullName); return DateTime.MinValue; } } diff --git a/Emby.Server.Implementations/IO/StreamHelper.cs b/Emby.Server.Implementations/IO/StreamHelper.cs index 48a5063e8..e91817611 100644 --- a/Emby.Server.Implementations/IO/StreamHelper.cs +++ b/Emby.Server.Implementations/IO/StreamHelper.cs @@ -163,7 +163,7 @@ namespace Emby.Server.Implementations.IO var bytesRead = await CopyToAsyncInternal(source, target, buffer, cancellationToken).ConfigureAwait(false); //var position = fs.Position; - //_logger.Debug("Streamed {0} bytes to position {1} from file {2}", bytesRead, position, path); + //_logger.LogDebug("Streamed {0} bytes to position {1} from file {2}", bytesRead, position, path); if (bytesRead == 0) { diff --git a/Emby.Server.Implementations/Library/ConnectManager.cs b/Emby.Server.Implementations/Library/ConnectManager.cs new file mode 100644 index 000000000..c05385673 --- /dev/null +++ b/Emby.Server.Implementations/Library/ConnectManager.cs @@ -0,0 +1,46 @@ +using MediaBrowser.Common.Events; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Connect; +using MediaBrowser.Controller.Drawing; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Net; +using MediaBrowser.Controller.Persistence; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Connect; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Events; +using Microsoft.Extensions.Logging; +using MediaBrowser.Model.Serialization; +using MediaBrowser.Model.Users; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Model.Cryptography; +using MediaBrowser.Model.IO; +using MediaBrowser.Controller.Authentication; +using MediaBrowser.Controller.Security; +using MediaBrowser.Controller.Devices; +using MediaBrowser.Controller.Session; +using MediaBrowser.Controller.Plugins; + +namespace Emby.Server.Implementations.Library +{ + public class ConnectManager : IConnectManager + { + public ConnectManager() + { + } + + } +} diff --git a/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs index 59f0a9fc9..7fb979d66 100644 --- a/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs +++ b/Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs @@ -9,7 +9,7 @@ using System.Linq; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Library { diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index bd823e0c1..52fb8938a 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -12,7 +12,7 @@ using MediaBrowser.Controller.Resolvers; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using Emby.Naming.Audio; using Emby.Naming.Common; @@ -351,7 +351,7 @@ namespace Emby.Server.Implementations.Library if (item is LiveTvProgram) { - _logger.Debug("Deleting item, Type: {0}, Name: {1}, Path: {2}, Id: {3}", + _logger.LogDebug("Deleting item, Type: {0}, Name: {1}, Path: {2}, Id: {3}", item.GetType().Name, item.Name ?? "Unknown name", item.Path ?? string.Empty, @@ -359,7 +359,7 @@ namespace Emby.Server.Implementations.Library } else { - _logger.Info("Deleting item, Type: {0}, Name: {1}, Path: {2}, Id: {3}", + _logger.LogInformation("Deleting item, Type: {0}, Name: {1}, Path: {2}, Id: {3}", item.GetType().Name, item.Name ?? "Unknown name", item.Path ?? string.Empty, @@ -372,7 +372,7 @@ namespace Emby.Server.Implementations.Library foreach (var metadataPath in GetMetadataPaths(item, children)) { - _logger.Debug("Deleting path {0}", metadataPath); + _logger.LogDebug("Deleting path {0}", metadataPath); try { @@ -384,7 +384,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error deleting {0}", ex, metadataPath); + _logger.LogError("Error deleting {0}", ex, metadataPath); } } @@ -400,12 +400,12 @@ namespace Emby.Server.Implementations.Library { if (fileSystemInfo.IsDirectory) { - _logger.Debug("Deleting path {0}", fileSystemInfo.FullName); + _logger.LogDebug("Deleting path {0}", fileSystemInfo.FullName); _fileSystem.DeleteDirectory(fileSystemInfo.FullName, true); } else { - _logger.Debug("Deleting path {0}", fileSystemInfo.FullName); + _logger.LogDebug("Deleting path {0}", fileSystemInfo.FullName); _fileSystem.DeleteFile(fileSystemInfo.FullName); } } @@ -489,7 +489,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error in {0} resolving {1}", ex, resolver.GetType().Name, args.Path); + _logger.LogError("Error in {0} resolving {1}", ex, resolver.GetType().Name, args.Path); return null; } } @@ -587,7 +587,7 @@ namespace Emby.Server.Implementations.Library { if (parent != null && parent.IsPhysicalRoot) { - _logger.ErrorException("Error in GetFilteredFileSystemEntries isPhysicalRoot: {0} IsVf: {1}", ex, isPhysicalRoot, isVf); + _logger.LogError("Error in GetFilteredFileSystemEntries isPhysicalRoot: {0} IsVf: {1}", ex, isPhysicalRoot, isVf); files = new FileSystemMetadata[] { }; } @@ -639,7 +639,7 @@ namespace Emby.Server.Implementations.Library foreach (var dupe in dupes) { - _logger.Info("Found duplicate path: {0}", dupe); + _logger.LogInformation("Found duplicate path: {0}", dupe); } var newList = list.Except(dupes, StringComparer.OrdinalIgnoreCase).Select(_fileSystem.GetDirectoryInfo).ToList(); @@ -713,7 +713,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error resolving path {0}", ex, f.FullName); + _logger.LogError("Error resolving path {0}", ex, f.FullName); return null; } }).Where(i => i != null); @@ -735,7 +735,7 @@ namespace Emby.Server.Implementations.Library // In case program data folder was moved if (!string.Equals(rootFolder.Path, rootFolderPath, StringComparison.Ordinal)) { - _logger.Info("Resetting root folder path to {0}", rootFolderPath); + _logger.LogInformation("Resetting root folder path to {0}", rootFolderPath); rootFolder.Path = rootFolderPath; } @@ -805,7 +805,7 @@ namespace Emby.Server.Implementations.Library // In case program data folder was moved if (!string.Equals(tmpItem.Path, userRootPath, StringComparison.Ordinal)) { - _logger.Info("Resetting user root folder path to {0}", userRootPath); + _logger.LogInformation("Resetting user root folder path to {0}", userRootPath); tmpItem.Path = userRootPath; } @@ -827,7 +827,7 @@ namespace Emby.Server.Implementations.Library throw new ArgumentNullException("path"); } - //_logger.Info("FindByPath {0}", path); + //_logger.LogInformation("FindByPath {0}", path); var query = new InternalItemsQuery { @@ -1080,7 +1080,7 @@ namespace Emby.Server.Implementations.Library private async Task PerformLibraryValidation(IProgress progress, CancellationToken cancellationToken) { - _logger.Info("Validating media library"); + _logger.LogInformation("Validating media library"); await ValidateTopLibraryFolders(cancellationToken).ConfigureAwait(false); @@ -1135,7 +1135,7 @@ namespace Emby.Server.Implementations.Library progress.Report(innerPercent); }); - _logger.Debug("Running post-scan task {0}", task.GetType().Name); + _logger.LogDebug("Running post-scan task {0}", task.GetType().Name); try { @@ -1143,12 +1143,12 @@ namespace Emby.Server.Implementations.Library } catch (OperationCanceledException) { - _logger.Info("Post-scan task cancelled: {0}", task.GetType().Name); + _logger.LogInformation("Post-scan task cancelled: {0}", task.GetType().Name); throw; } catch (Exception ex) { - _logger.ErrorException("Error running postscan task", ex); + _logger.LogError("Error running postscan task", ex); } numComplete++; @@ -1199,7 +1199,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error resolving shortcut file {0}", ex, i); + _logger.LogError("Error resolving shortcut file {0}", ex, i); return null; } }) @@ -1262,7 +1262,7 @@ namespace Emby.Server.Implementations.Library item = RetrieveItem(id); - //_logger.Debug("GetitemById {0}", id); + //_logger.LogDebug("GetitemById {0}", id); if (item != null) { @@ -1440,7 +1440,7 @@ namespace Emby.Server.Implementations.Library return true; } - //_logger.Debug("Query requires ancestor query due to type: " + i.GetType().Name); + //_logger.LogDebug("Query requires ancestor query due to type: " + i.GetType().Name); return false; })) @@ -1506,7 +1506,7 @@ namespace Emby.Server.Implementations.Library return true; } - //_logger.Debug("Query requires ancestor query due to type: " + i.GetType().Name); + //_logger.LogDebug("Query requires ancestor query due to type: " + i.GetType().Name); return false; })) @@ -1650,7 +1650,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error getting intros", ex); + _logger.LogError("Error getting intros", ex); return new List(); } @@ -1670,7 +1670,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error getting intro files", ex); + _logger.LogError("Error getting intro files", ex); return new List(); } @@ -1693,7 +1693,7 @@ namespace Emby.Server.Implementations.Library if (video == null) { - _logger.Error("Unable to locate item with Id {0}.", info.ItemId.Value); + _logger.LogError("Unable to locate item with Id {0}.", info.ItemId.Value); } } else if (!string.IsNullOrEmpty(info.Path)) @@ -1705,7 +1705,7 @@ namespace Emby.Server.Implementations.Library if (video == null) { - _logger.Error("Intro resolver returned null for {0}.", info.Path); + _logger.LogError("Intro resolver returned null for {0}.", info.Path); } else { @@ -1724,12 +1724,12 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error resolving path {0}.", ex, info.Path); + _logger.LogError("Error resolving path {0}.", ex, info.Path); } } else { - _logger.Error("IntroProvider returned an IntroInfo with null Path and ItemId."); + _logger.LogError("IntroProvider returned an IntroInfo with null Path and ItemId."); } return video; @@ -1873,7 +1873,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error in ItemAdded event handler", ex); + _logger.LogError("Error in ItemAdded event handler", ex); } } } @@ -1904,7 +1904,7 @@ namespace Emby.Server.Implementations.Library } //var logName = item.LocationType == LocationType.Remote ? item.Name ?? item.Path : item.Path ?? item.Name; - //_logger.Debug("Saving {0} to database.", logName); + //_logger.LogDebug("Saving {0} to database.", logName); ItemRepository.SaveItems(items, cancellationToken); @@ -1929,7 +1929,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error in ItemUpdated event handler", ex); + _logger.LogError("Error in ItemUpdated event handler", ex); } } } @@ -1965,7 +1965,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error in ItemRemoved event handler", ex); + _logger.LogError("Error in ItemRemoved event handler", ex); } } } @@ -2808,7 +2808,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error getting person", ex); + _logger.LogError("Error getting person", ex); return null; } @@ -2836,7 +2836,7 @@ namespace Emby.Server.Implementations.Library { try { - _logger.Debug("ConvertImageToLocal item {0} - image url: {1}", item.Id, url); + _logger.LogDebug("ConvertImageToLocal item {0} - image url: {1}", item.Id, url); await _providerManagerFactory().SaveImage(item, url, image.Type, imageIndex, CancellationToken.None).ConfigureAwait(false); diff --git a/Emby.Server.Implementations/Library/LiveStreamHelper.cs b/Emby.Server.Implementations/Library/LiveStreamHelper.cs index e027e133f..d0b3152ba 100644 --- a/Emby.Server.Implementations/Library/LiveStreamHelper.cs +++ b/Emby.Server.Implementations/Library/LiveStreamHelper.cs @@ -7,7 +7,7 @@ using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using System.Collections.Generic; using MediaBrowser.Model.Serialization; @@ -48,7 +48,7 @@ namespace Emby.Server.Implementations.Library { mediaInfo = _json.DeserializeFromFile(cacheFilePath); - //_logger.Debug("Found cached media info"); + //_logger.LogDebug("Found cached media info"); } catch { @@ -63,7 +63,7 @@ namespace Emby.Server.Implementations.Library delayMs = Math.Max(3000, delayMs); if (delayMs > 0) { - _logger.Info("Waiting {0}ms before probing the live stream", delayMs); + _logger.LogInformation("Waiting {0}ms before probing the live stream", delayMs); await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); } } @@ -83,7 +83,7 @@ namespace Emby.Server.Implementations.Library Directory.CreateDirectory(Path.GetDirectoryName(cacheFilePath)); _json.SerializeToFile(mediaInfo, cacheFilePath); - //_logger.Debug("Saved media info to {0}", cacheFilePath); + //_logger.LogDebug("Saved media info to {0}", cacheFilePath); } } @@ -104,7 +104,7 @@ namespace Emby.Server.Implementations.Library mediaStreams = newList; } - _logger.Info("Live tv media info probe took {0} seconds", (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture)); + _logger.LogInformation("Live tv media info probe took {0} seconds", (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture)); mediaSource.Bitrate = mediaInfo.Bitrate; mediaSource.Container = mediaInfo.Container; diff --git a/Emby.Server.Implementations/Library/MediaSourceManager.cs b/Emby.Server.Implementations/Library/MediaSourceManager.cs index 0dc436800..2f8a1aa5e 100644 --- a/Emby.Server.Implementations/Library/MediaSourceManager.cs +++ b/Emby.Server.Implementations/Library/MediaSourceManager.cs @@ -6,7 +6,7 @@ using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Serialization; using System; @@ -255,7 +255,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error getting media sources", ex); + _logger.LogError("Error getting media sources", ex); return new List(); } } @@ -476,12 +476,12 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error probing live tv stream", ex); + _logger.LogError("Error probing live tv stream", ex); AddMediaInfo(mediaSource, isAudio); } var json = _jsonSerializer.SerializeToString(mediaSource); - _logger.Info("Live stream opened: " + json); + _logger.LogInformation("Live stream opened: " + json); var clone = _jsonSerializer.DeserializeFromString(json); if (!request.UserId.Equals(Guid.Empty)) @@ -624,7 +624,7 @@ namespace Emby.Server.Implementations.Library { mediaInfo = _jsonSerializer.DeserializeFromFile(cacheFilePath); - //_logger.Debug("Found cached media info"); + //_logger.LogDebug("Found cached media info"); } catch (Exception ex) { @@ -658,7 +658,7 @@ namespace Emby.Server.Implementations.Library _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(cacheFilePath)); _jsonSerializer.SerializeToFile(mediaInfo, cacheFilePath); - //_logger.Debug("Saved media info to {0}", cacheFilePath); + //_logger.LogDebug("Saved media info to {0}", cacheFilePath); } } @@ -679,7 +679,7 @@ namespace Emby.Server.Implementations.Library mediaStreams = newList; } - _logger.Info("Live tv media info probe took {0} seconds", (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture)); + _logger.LogInformation("Live tv media info probe took {0} seconds", (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture)); mediaSource.Bitrate = mediaInfo.Bitrate; mediaSource.Container = mediaInfo.Container; @@ -815,16 +815,16 @@ namespace Emby.Server.Implementations.Library { liveStream.ConsumerCount--; - _logger.Info("Live stream {0} consumer count is now {1}", liveStream.OriginalStreamId, liveStream.ConsumerCount); + _logger.LogInformation("Live stream {0} consumer count is now {1}", liveStream.OriginalStreamId, liveStream.ConsumerCount); if (liveStream.ConsumerCount <= 0) { _openStreams.Remove(id); - _logger.Info("Closing live stream {0}", id); + _logger.LogInformation("Closing live stream {0}", id); await liveStream.Close().ConfigureAwait(false); - _logger.Info("Live stream {0} closed successfully", id); + _logger.LogInformation("Live stream {0} closed successfully", id); } } } @@ -883,4 +883,4 @@ namespace Emby.Server.Implementations.Library } } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index a33f101ae..dbfcf41e8 100644 --- a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using Emby.Naming.Audio; using System; using System.Collections.Generic; @@ -128,7 +128,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Audio { if (IsMultiDiscFolder(path, libraryOptions)) { - logger.Debug("Found multi-disc folder: " + path); + logger.LogDebug("Found multi-disc folder: " + path); discSubfolderCount++; } else diff --git a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs index 2ad839673..71ccd7da8 100644 --- a/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.IO; using System.Linq; diff --git a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs index 556748183..143af4076 100644 --- a/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/BaseVideoResolver.cs @@ -7,7 +7,7 @@ using System.IO; using System.Linq; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Library.Resolvers { diff --git a/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 1394e3858..68b6c57ae 100644 --- a/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -14,7 +14,7 @@ using System.Linq; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Library.Resolvers.Movies { diff --git a/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs index d8343f7c6..0fe42fa73 100644 --- a/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs @@ -5,7 +5,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Model.Globalization; using Emby.Naming.Common; using Emby.Naming.TV; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Library.Resolvers.TV { @@ -72,7 +72,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV { if (episodeInfo.EpisodeNumber.HasValue && episodeInfo.SeasonNumber.HasValue) { - _logger.Debug("Found folder underneath series with episode number: {0}. Season {1}. Episode {2}", + _logger.LogDebug("Found folder underneath series with episode number: {0}. Season {1}. Episode {2}", path, episodeInfo.SeasonNumber.Value, episodeInfo.EpisodeNumber.Value); diff --git a/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs index 951f439c2..32e8b6120 100644 --- a/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs +++ b/Emby.Server.Implementations/Library/Resolvers/TV/SeriesResolver.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Resolvers; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using Emby.Naming.Common; using Emby.Naming.TV; using System; @@ -131,14 +131,14 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV { //if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden) //{ - // //logger.Debug("Igoring series file or folder marked hidden: {0}", child.FullName); + // //logger.LogDebug("Igoring series file or folder marked hidden: {0}", child.FullName); // continue; //} // Can't enforce this because files saved by Bitcasa are always marked System //if ((attributes & FileAttributes.System) == FileAttributes.System) //{ - // logger.Debug("Igoring series subfolder marked system: {0}", child.FullName); + // logger.LogDebug("Igoring series subfolder marked system: {0}", child.FullName); // continue; //} @@ -146,7 +146,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV { if (IsSeasonFolder(child.FullName, isTvContentType, libraryManager)) { - //logger.Debug("{0} is a series because of season folder {1}.", path, child.FullName); + //logger.LogDebug("{0} is a series because of season folder {1}.", path, child.FullName); return true; } } @@ -181,7 +181,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV } } - //logger.Debug("{0} is not a series folder.", path); + //logger.LogDebug("{0} is not a series folder.", path); return false; } diff --git a/Emby.Server.Implementations/Library/SearchEngine.cs b/Emby.Server.Implementations/Library/SearchEngine.cs index a7db46ef2..1212ba549 100644 --- a/Emby.Server.Implementations/Library/SearchEngine.cs +++ b/Emby.Server.Implementations/Library/SearchEngine.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Search; using System; @@ -23,12 +23,12 @@ namespace Emby.Server.Implementations.Library private readonly IUserManager _userManager; private readonly ILogger _logger; - public SearchEngine(ILogManager logManager, ILibraryManager libraryManager, IUserManager userManager) + public SearchEngine(ILoggerFactory loggerFactory, ILibraryManager libraryManager, IUserManager userManager) { _libraryManager = libraryManager; _userManager = userManager; - _logger = logManager.GetLogger("SearchEngine"); + _logger = loggerFactory.CreateLogger("SearchEngine"); } public QueryResult GetSearchHints(SearchQuery query) diff --git a/Emby.Server.Implementations/Library/UserDataManager.cs b/Emby.Server.Implementations/Library/UserDataManager.cs index 3714a7544..62371799b 100644 --- a/Emby.Server.Implementations/Library/UserDataManager.cs +++ b/Emby.Server.Implementations/Library/UserDataManager.cs @@ -6,7 +6,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -32,10 +32,10 @@ namespace Emby.Server.Implementations.Library private Func _userManager; - public UserDataManager(ILogManager logManager, IServerConfigurationManager config, Func userManager) + public UserDataManager(ILoggerFactory loggerFactory, IServerConfigurationManager config, Func userManager) { _config = config; - _logger = logManager.GetLogger(GetType().Name); + _logger = loggerFactory.CreateLogger(GetType().Name); _userManager = userManager; } diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs index da80a4824..2e675ee7e 100644 --- a/Emby.Server.Implementations/Library/UserManager.cs +++ b/Emby.Server.Implementations/Library/UserManager.cs @@ -15,7 +15,7 @@ using MediaBrowser.Model.Connect; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Users; using System; @@ -340,7 +340,7 @@ namespace Emby.Server.Implementations.Library UpdateInvalidLoginAttemptCount(user, user.Policy.InvalidLoginAttemptCount + 1); } - _logger.Info("Authentication request for {0} {1}.", user.Name, success ? "has succeeded" : "has been denied"); + _logger.LogInformation("Authentication request for {0} {1}.", user.Name, success ? "has succeeded" : "has been denied"); return success ? user : null; } @@ -392,7 +392,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error authenticating with provider {0}", ex, provider.Name); + _logger.LogError("Error authenticating with provider {0}", ex, provider.Name); return false; } @@ -461,7 +461,7 @@ namespace Emby.Server.Implementations.Library if (newValue >= maxCount) { - //_logger.Debug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture)); + //_logger.LogDebug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture)); //user.Policy.IsDisabled = true; //fireLockout = true; @@ -575,7 +575,7 @@ namespace Emby.Server.Implementations.Library catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - _logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, user.Name); + _logger.LogError("Error generating PrimaryImageAspectRatio for {0}", ex, user.Name); } } @@ -599,7 +599,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error getting {0} image info for {1}", ex, image.Type, image.Path); + _logger.LogError("Error getting {0} image info for {1}", ex, image.Type, image.Path); return null; } } @@ -775,7 +775,7 @@ namespace Emby.Server.Implementations.Library } catch (IOException ex) { - _logger.ErrorException("Error deleting file {0}", ex, configPath); + _logger.LogError("Error deleting file {0}", ex, configPath); } DeleteUserPolicy(user); @@ -1045,7 +1045,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error reading policy file: {0}", ex, path); + _logger.LogError("Error reading policy file: {0}", ex, path); return GetDefaultPolicy(user); } @@ -1109,7 +1109,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error deleting policy file", ex); + _logger.LogError("Error deleting policy file", ex); } } @@ -1144,7 +1144,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.ErrorException("Error reading policy file: {0}", ex, path); + _logger.LogError("Error reading policy file: {0}", ex, path); return new UserConfiguration(); } diff --git a/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs index 4d718dbee..eee66c8ac 100644 --- a/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsPostScanTask.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; diff --git a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs index cd2aab4c8..593a9a1ef 100644 --- a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs @@ -1,6 +1,6 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.IO; @@ -70,7 +70,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error refreshing {0}", ex, name); + _logger.LogError("Error refreshing {0}", ex, name); } numComplete++; @@ -95,7 +95,7 @@ namespace Emby.Server.Implementations.Library.Validators continue; } - _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); + _logger.LogInformation("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); _libraryManager.DeleteItem(item, new DeleteOptions { diff --git a/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs index ee6c4461c..ea1f2e552 100644 --- a/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; diff --git a/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs index f7fbb9331..ffa5608dd 100644 --- a/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs @@ -1,6 +1,6 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error refreshing {0}", ex, name); + _logger.LogError("Error refreshing {0}", ex, name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs index be46decfb..4f4133340 100644 --- a/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/GenresPostScanTask.cs @@ -3,7 +3,7 @@ using System; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Persistence; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Library.Validators { diff --git a/Emby.Server.Implementations/Library/Validators/GenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs index d71e77a9a..e59b747de 100644 --- a/Emby.Server.Implementations/Library/Validators/GenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error refreshing {0}", ex, name); + _logger.LogError("Error refreshing {0}", ex, name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs index cd4021548..edc6f3ad6 100644 --- a/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; diff --git a/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs index 98d53c125..ec8568afc 100644 --- a/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs @@ -1,6 +1,6 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error refreshing {0}", ex, name); + _logger.LogError("Error refreshing {0}", ex, name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs index 1f4e1de92..a4949099a 100644 --- a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; @@ -54,7 +54,7 @@ namespace Emby.Server.Implementations.Library.Validators var numPeople = people.Count; - _logger.Debug("Will refresh {0} people", numPeople); + _logger.LogDebug("Will refresh {0} people", numPeople); foreach (var person in people) { @@ -78,7 +78,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error validating IBN entry {0}", ex, person); + _logger.LogError("Error validating IBN entry {0}", ex, person); } // Update progress @@ -98,7 +98,7 @@ namespace Emby.Server.Implementations.Library.Validators foreach (var item in deadEntities) { - _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); + _logger.LogInformation("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); _libraryManager.DeleteItem(item, new DeleteOptions { @@ -108,7 +108,7 @@ namespace Emby.Server.Implementations.Library.Validators progress.Report(100); - _logger.Info("People validation complete"); + _logger.LogInformation("People validation complete"); } } } diff --git a/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs b/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs index d23efb6d3..45747dda1 100644 --- a/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosPostScanTask.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Threading; using System.Threading.Tasks; diff --git a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs index f306309b3..fec989032 100644 --- a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.ErrorException("Error refreshing {0}", ex, name); + _logger.LogError("Error refreshing {0}", ex, name); } numComplete++; @@ -77,7 +77,7 @@ namespace Emby.Server.Implementations.Library.Validators foreach (var item in deadEntities) { - _logger.Info("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); + _logger.LogInformation("Deleting dead {2} {0} {1}.", item.Id.ToString("N"), item.Name, item.GetType().Name); _libraryManager.DeleteItem(item, new DeleteOptions { diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs index 0c7980ca0..327b0181a 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs @@ -8,7 +8,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.LiveTv.EmbyTV { @@ -50,7 +50,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { onStarted(); - _logger.Info("Copying recording stream to file {0}", targetFile); + _logger.LogInformation("Copying recording stream to file {0}", targetFile); // The media source is infinite so we need to handle stopping ourselves var durationToken = new CancellationTokenSource(duration); @@ -59,7 +59,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV await directStreamProvider.CopyToAsync(output, cancellationToken).ConfigureAwait(false); } - _logger.Info("Recording completed to file {0}", targetFile); + _logger.LogInformation("Recording completed to file {0}", targetFile); } private async Task RecordFromMediaSource(MediaSourceInfo mediaSource, string targetFile, TimeSpan duration, Action onStarted, CancellationToken cancellationToken) @@ -78,7 +78,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV using (var response = await _httpClient.SendAsync(httpRequestOptions, "GET").ConfigureAwait(false)) { - _logger.Info("Opened recording stream from tuner provider"); + _logger.LogInformation("Opened recording stream from tuner provider"); _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(targetFile)); @@ -86,7 +86,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { onStarted(); - _logger.Info("Copying recording stream to file {0}", targetFile); + _logger.LogInformation("Copying recording stream to file {0}", targetFile); // The media source if infinite so we need to handle stopping ourselves var durationToken = new CancellationTokenSource(duration); @@ -96,7 +96,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } } - _logger.Info("Recording completed to file {0}", targetFile); + _logger.LogInformation("Recording completed to file {0}", targetFile); } } } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 167f2a84b..11cb57ff7 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -12,7 +12,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Events; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Concurrent; @@ -170,7 +170,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error creating virtual folder", ex); + _logger.LogError("Error creating virtual folder", ex); } pathsAdded.AddRange(pathsToCreate); @@ -196,13 +196,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error creating recording folders", ex); + _logger.LogError("Error creating recording folders", ex); } } private async Task RemovePathFromLibrary(string path) { - _logger.Debug("Removing path from library: {0}", path); + _logger.LogDebug("Removing path from library: {0}", path); var requiresRefresh = false; var virtualFolders = _libraryManager.GetVirtualFolders() @@ -224,7 +224,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error removing virtual folder", ex); + _logger.LogError("Error removing virtual folder", ex); } } else @@ -236,7 +236,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error removing media path", ex); + _logger.LogError("Error removing media path", ex); } } } @@ -342,7 +342,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error getting channels", ex); + _logger.LogError("Error getting channels", ex); } } @@ -364,7 +364,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error adding metadata", ex); + _logger.LogError("Error adding metadata", ex); } } } @@ -406,7 +406,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV foreach (var channel in channels) { - _logger.Info("Found epg channel in {0} {1} {2} {3}", provider.Name, info.ListingsId, channel.Name, channel.Id); + _logger.LogInformation("Found epg channel in {0} {1} {2} {3}", provider.Name, info.ListingsId, channel.Name, channel.Id); } result = new EpgChannelData(channels); @@ -595,7 +595,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error getting channels", ex); + _logger.LogError("Error getting channels", ex); } } @@ -718,7 +718,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } if (programInfo == null) { - _logger.Info("Unable to find program with Id {0}. Will search using start date", timer.ProgramId); + _logger.LogInformation("Unable to find program with Id {0}. Will search using start date", timer.ProgramId); programInfo = GetProgramInfoFromCache(timer.ChannelId, timer.StartDate); } @@ -984,11 +984,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { if (!IsListingProviderEnabledForTuner(provider.Item2, channel.TunerHostId)) { - _logger.Debug("Skipping getting programs for channel {0}-{1} from {2}-{3}, because it's not enabled for this tuner.", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); + _logger.LogDebug("Skipping getting programs for channel {0}-{1} from {2}-{3}, because it's not enabled for this tuner.", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); continue; } - _logger.Debug("Getting programs for channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); + _logger.LogDebug("Getting programs for channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); var epgChannel = await GetEpgChannelFromTunerChannel(provider.Item1, provider.Item2, channel, cancellationToken).ConfigureAwait(false); @@ -996,7 +996,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (epgChannel == null) { - _logger.Debug("EPG channel not found for tuner channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); + _logger.LogDebug("EPG channel not found for tuner channel {0}-{1} from {2}-{3}", channel.Number, channel.Name, provider.Item1.Name, provider.Item2.ListingsId ?? string.Empty); programs = new List(); } else @@ -1042,7 +1042,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV public async Task GetChannelStreamWithDirectStreamProvider(string channelId, string streamId, List currentLiveStreams, CancellationToken cancellationToken) { - _logger.Info("Streaming Channel " + channelId); + _logger.LogInformation("Streaming Channel " + channelId); var result = string.IsNullOrEmpty(streamId) ? null : @@ -1052,7 +1052,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { result.ConsumerCount++; - _logger.Info("Live stream {0} consumer count is now {1}", streamId, result.ConsumerCount); + _logger.LogInformation("Live stream {0} consumer count is now {1}", streamId, result.ConsumerCount); return result; } @@ -1067,7 +1067,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV result.OriginalStreamId = streamId; - _logger.Info("Returning mediasource streamId {0}, mediaSource.Id {1}, mediaSource.LiveStreamId {2}", streamId, openedMediaSource.Id, openedMediaSource.LiveStreamId); + _logger.LogInformation("Returning mediasource streamId {0}, mediaSource.Id {1}, mediaSource.LiveStreamId {2}", streamId, openedMediaSource.Id, openedMediaSource.LiveStreamId); return result; } @@ -1174,7 +1174,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { var timer = e.Argument; - _logger.Info("Recording timer fired for {0}.", timer.Name); + _logger.LogInformation("Recording timer fired for {0}.", timer.Name); try { @@ -1182,7 +1182,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (recordingEndDate <= DateTime.UtcNow) { - _logger.Warn("Recording timer fired for updatedTimer {0}, Id: {1}, but the program has already ended.", timer.Name, timer.Id); + _logger.LogWarning("Recording timer fired for updatedTimer {0}, Id: {1}, but the program has already ended.", timer.Name, timer.Id); OnTimerOutOfDate(timer); return; } @@ -1190,7 +1190,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var registration = await _liveTvManager.GetRegistrationInfo("dvr").ConfigureAwait(false); if (!registration.IsValid) { - _logger.Warn("Emby Premiere required to use Emby DVR."); + _logger.LogWarning("Emby Premiere required to use Emby DVR."); OnTimerOutOfDate(timer); return; } @@ -1208,7 +1208,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } else { - _logger.Info("Skipping RecordStream because it's already in progress."); + _logger.LogInformation("Skipping RecordStream because it's already in progress."); } } catch (OperationCanceledException) @@ -1217,7 +1217,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error recording stream", ex); + _logger.LogError("Error recording stream", ex); } } @@ -1342,7 +1342,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } if (programInfo == null) { - _logger.Info("Unable to find program with Id {0}. Will search using start date", timer.ProgramId); + _logger.LogInformation("Unable to find program with Id {0}. Will search using start date", timer.ProgramId); programInfo = GetProgramInfoFromCache(timer.ChannelId, timer.StartDate); } @@ -1390,9 +1390,9 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var duration = recordingEndDate - DateTime.UtcNow; - _logger.Info("Beginning recording. Will record for {0} minutes.", duration.TotalMinutes.ToString(CultureInfo.InvariantCulture)); + _logger.LogInformation("Beginning recording. Will record for {0} minutes.", duration.TotalMinutes.ToString(CultureInfo.InvariantCulture)); - _logger.Info("Writing file to path: " + recordPath); + _logger.LogInformation("Writing file to path: " + recordPath); Action onStarted = async () => { @@ -1414,16 +1414,16 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV await recorder.Record(directStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false); recordingStatus = RecordingStatus.Completed; - _logger.Info("Recording completed: {0}", recordPath); + _logger.LogInformation("Recording completed: {0}", recordPath); } catch (OperationCanceledException) { - _logger.Info("Recording stopped: {0}", recordPath); + _logger.LogInformation("Recording stopped: {0}", recordPath); recordingStatus = RecordingStatus.Completed; } catch (Exception ex) { - _logger.ErrorException("Error recording to {0}", ex, recordPath); + _logger.LogError("Error recording to {0}", ex, recordPath); recordingStatus = RecordingStatus.Error; } @@ -1435,7 +1435,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error closing live stream", ex); + _logger.LogError("Error closing live stream", ex); } } @@ -1450,7 +1450,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (recordingStatus != RecordingStatus.Completed && DateTime.UtcNow < timer.EndDate && timer.RetryCount < 10) { const int retryIntervalSeconds = 60; - _logger.Info("Retrying recording in {0} seconds.", retryIntervalSeconds); + _logger.LogInformation("Retrying recording in {0} seconds.", retryIntervalSeconds); timer.Status = RecordingStatus.New; timer.PrePaddingSeconds = 0; @@ -1511,20 +1511,20 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error deleting 0-byte failed recording file {0}", ex, path); + _logger.LogError("Error deleting 0-byte failed recording file {0}", ex, path); } } } private void TriggerRefresh(string path) { - _logger.Info("Triggering refresh on {0}", path); + _logger.LogInformation("Triggering refresh on {0}", path); var item = GetAffectedBaseItem(_fileSystem.GetDirectoryName(path)); if (item != null) { - _logger.Info("Refreshing recording parent {0}", item.Path); + _logger.LogInformation("Refreshing recording parent {0}", item.Path); _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem) { @@ -1642,7 +1642,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error deleting item", ex); + _logger.LogError("Error deleting item", ex); } } } @@ -1668,7 +1668,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error deleting recording", ex); + _logger.LogError("Error deleting recording", ex); } } } @@ -1773,14 +1773,14 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV UseShellExecute = false }); - _logger.Info("Running recording post processor {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogInformation("Running recording post processor {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); process.Exited += Process_Exited; process.Start(); } catch (Exception ex) { - _logger.ErrorException("Error running recording post processor", ex); + _logger.LogError("Error running recording post processor", ex); } } @@ -1794,7 +1794,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var process = (IProcess)sender; try { - _logger.Info("Recording post-processing script completed with exit code {0}", process.ExitCode); + _logger.LogInformation("Recording post-processing script completed with exit code {0}", process.ExitCode); } catch { @@ -1875,7 +1875,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error saving recording image", ex); + _logger.LogError("Error saving recording image", ex); } } @@ -1890,7 +1890,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error saving recording image", ex); + _logger.LogError("Error saving recording image", ex); } } @@ -1903,7 +1903,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error saving recording image", ex); + _logger.LogError("Error saving recording image", ex); } } @@ -1916,7 +1916,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error saving recording image", ex); + _logger.LogError("Error saving recording image", ex); } } } @@ -1984,7 +1984,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error saving nfo", ex); + _logger.LogError("Error saving nfo", ex); } } @@ -2790,7 +2790,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { if (!string.Equals(device.Url, configuredDevice.Url, StringComparison.OrdinalIgnoreCase)) { - _logger.Info("Tuner url has changed from {0} to {1}", configuredDevice.Url, device.Url); + _logger.LogInformation("Tuner url has changed from {0} to {1}", configuredDevice.Url, device.Url); configuredDevice.Url = device.Url; await _liveTvManager.SaveTunerHost(configuredDevice).ConfigureAwait(false); @@ -2807,14 +2807,14 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV foreach (var device in discoveredDevices) { - _logger.Info("Discovered tuner device {0} at {1}", host.Name, device.Url); + _logger.LogInformation("Discovered tuner device {0} at {1}", host.Name, device.Url); } return discoveredDevices; } catch (Exception ex) { - _logger.ErrorException("Error discovering tuner devices", ex); + _logger.LogError("Error discovering tuner devices", ex); return new List(); } @@ -2827,4 +2827,4 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV return manager.GetConfiguration("xbmcmetadata"); } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs index 9506a82be..af5e96c05 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs @@ -8,7 +8,6 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.IO; - using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; @@ -18,7 +17,7 @@ using MediaBrowser.Model.Diagnostics; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Library; @@ -78,7 +77,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV await RecordFromFile(mediaSource, mediaSource.Path, targetFile, duration, onStarted, cancellationToken).ConfigureAwait(false); - _logger.Info("Recording completed to file {0}", targetFile); + _logger.LogInformation("Recording completed to file {0}", targetFile); } private EncodingOptions GetEncodingOptions() @@ -112,7 +111,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV _process = process; var commandLineLogMessage = process.StartInfo.FileName + " " + process.StartInfo.Arguments; - _logger.Info(commandLineLogMessage); + _logger.LogInformation(commandLineLogMessage); var logFilePath = Path.Combine(_appPaths.LogDirectoryPath, "record-transcode-" + Guid.NewGuid() + ".txt"); _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(logFilePath)); @@ -137,7 +136,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV // Important - don't await the log task or we won't be able to kill ffmpeg when the user stops playback StartStreamingLog(process.StandardError.BaseStream, _logFileStream); - _logger.Info("ffmpeg recording process started for {0}", _targetPath); + _logger.LogInformation("ffmpeg recording process started for {0}", _targetPath); return _taskCompletionSource.Task; } @@ -270,14 +269,14 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { try { - _logger.Info("Stopping ffmpeg recording process for {0}", _targetPath); + _logger.LogInformation("Stopping ffmpeg recording process for {0}", _targetPath); //process.Kill(); _process.StandardInput.WriteLine("q"); } catch (Exception ex) { - _logger.ErrorException("Error stopping recording transcoding job for {0}", ex, _targetPath); + _logger.LogError("Error stopping recording transcoding job for {0}", ex, _targetPath); } if (_hasExited) @@ -287,7 +286,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV try { - _logger.Info("Calling recording process.WaitForExit for {0}", _targetPath); + _logger.LogInformation("Calling recording process.WaitForExit for {0}", _targetPath); if (_process.WaitForExit(10000)) { @@ -296,7 +295,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error waiting for recording process to exit for {0}", ex, _targetPath); + _logger.LogError("Error waiting for recording process to exit for {0}", ex, _targetPath); } if (_hasExited) @@ -306,13 +305,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV try { - _logger.Info("Killing ffmpeg recording process for {0}", _targetPath); + _logger.LogInformation("Killing ffmpeg recording process for {0}", _targetPath); _process.Kill(); } catch (Exception ex) { - _logger.ErrorException("Error killing recording transcoding job for {0}", ex, _targetPath); + _logger.LogError("Error killing recording transcoding job for {0}", ex, _targetPath); } } } @@ -330,7 +329,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { var exitCode = process.ExitCode; - _logger.Info("FFMpeg recording exited with code {0} for {1}", exitCode, _targetPath); + _logger.LogInformation("FFMpeg recording exited with code {0} for {1}", exitCode, _targetPath); if (exitCode == 0) { @@ -343,7 +342,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch { - _logger.Error("FFMpeg recording exited with an error for {0}.", _targetPath); + _logger.LogError("FFMpeg recording exited with an error for {0}.", _targetPath); _taskCompletionSource.TrySetException(new Exception(string.Format("Recording for {0} failed", _targetPath))); } } @@ -358,7 +357,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error disposing recording log stream", ex); + _logger.LogError("Error disposing recording log stream", ex); } _logFileStream = null; @@ -388,8 +387,8 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error reading ffmpeg recording log", ex); + _logger.LogError("Error reading ffmpeg recording log", ex); } } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs index 4ba2269a6..813a7a5f9 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs @@ -1,4 +1,4 @@ -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; @@ -36,7 +36,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { if (_items == null) { - Logger.Info("Loading live tv data from {0}", _dataPath); + Logger.LogInformation("Loading live tv data from {0}", _dataPath); _items = GetItemsFromFile(_dataPath); } return _items.ToList(); @@ -59,7 +59,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - Logger.ErrorException("Error deserializing {0}", ex, jsonFile); + Logger.LogError("Error deserializing {0}", ex, jsonFile); } return new List(); } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs index 63cd26c7e..620ba7650 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs @@ -1,5 +1,5 @@ using MediaBrowser.Controller.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using MediaBrowser.Model.IO; diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs index b5f93b882..f00a54c7f 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs @@ -1,7 +1,7 @@ using MediaBrowser.Common.Events; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Concurrent; @@ -122,7 +122,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (startDate < now) { - EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs { Argument = item }, Logger); + EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs { Argument = item }, base.Logger); return; } @@ -143,7 +143,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.ErrorException("Error scheduling wake timer", ex); + _logger.LogError("Error scheduling wake timer", ex); } } @@ -153,12 +153,12 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (_timers.TryAdd(item.Id, timer)) { - _logger.Info("Creating recording timer for {0}, {1}. Timer will fire in {2} minutes", item.Id, item.Name, dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); + _logger.LogInformation("Creating recording timer for {0}, {1}. Timer will fire in {2} minutes", item.Id, item.Name, dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); } else { timer.Dispose(); - _logger.Warn("Timer already exists for item {0}", item.Id); + _logger.LogWarning("Timer already exists for item {0}", item.Id); } } @@ -178,7 +178,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var timer = GetAll().FirstOrDefault(i => string.Equals(i.Id, timerId, StringComparison.OrdinalIgnoreCase)); if (timer != null) { - EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs { Argument = timer }, Logger); + EventHelper.FireEventIfNotNull(TimerFired, this, new GenericEventArgs { Argument = timer }, base.Logger); } } diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs b/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs index 2d0eaf25b..48b4e5833 100644 --- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs +++ b/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs @@ -4,7 +4,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Serialization; using System; @@ -80,7 +80,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings if (string.IsNullOrEmpty(token)) { - _logger.Warn("SchedulesDirect token is empty, returning empty program list"); + _logger.LogWarning("SchedulesDirect token is empty, returning empty program list"); return programsInfo; } @@ -88,7 +88,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings string stationID = channelId; - _logger.Info("Channel Station ID is: " + stationID); + _logger.LogInformation("Channel Station ID is: " + stationID); List requestList = new List() { @@ -100,7 +100,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings }; var requestString = _jsonSerializer.SerializeToString(requestList); - _logger.Debug("Request string for schedules is: " + requestString); + _logger.LogDebug("Request string for schedules is: " + requestString); var httpOptions = new HttpRequestOptions() { @@ -120,7 +120,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings StreamReader reader = new StreamReader(response.Content); string responseString = reader.ReadToEnd(); var dailySchedules = _jsonSerializer.DeserializeFromString>(responseString); - _logger.Debug("Found " + dailySchedules.Count + " programs on " + stationID + " ScheduleDirect"); + _logger.LogDebug("Found " + dailySchedules.Count + " programs on " + stationID + " ScheduleDirect"); httpOptions = new HttpRequestOptions() { @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings var schedules = dailySchedules.SelectMany(d => d.programs); foreach (ScheduleDirect.Program schedule in schedules) { - //_logger.Debug("Proccesing Schedule for statio ID " + stationID + + //_logger.LogDebug("Proccesing Schedule for statio ID " + stationID + // " which corresponds to channel " + channelNumber + " and program id " + // schedule.programID + " which says it has images? " + // programDict[schedule.programID].hasImageArtwork); @@ -453,7 +453,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings url = apiUrl + "/image/" + uri; } } - //_logger.Debug("URL for image is : " + url); + //_logger.LogDebug("URL for image is : " + url); return url; } @@ -527,7 +527,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings } catch (Exception ex) { - _logger.ErrorException("Error getting image info from schedules direct", ex); + _logger.LogError("Error getting image info from schedules direct", ex); return new List(); } @@ -578,14 +578,14 @@ namespace Emby.Server.Implementations.LiveTv.Listings } else { - _logger.Info("No lineups available"); + _logger.LogInformation("No lineups available"); } } } } catch (Exception ex) { - _logger.Error("Error getting headends", ex); + _logger.LogError("Error getting headends", ex); } return lineups; @@ -750,7 +750,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings CancellationToken = cancellationToken, LogErrorResponseBody = true }; - //_logger.Info("Obtaining token from Schedules Direct from addres: " + httpOptions.Url + " with body " + + //_logger.LogInformation("Obtaining token from Schedules Direct from addres: " + httpOptions.Url + " with body " + // httpOptions.RequestContent); using (var responce = await Post(httpOptions, false, null).ConfigureAwait(false)) @@ -758,7 +758,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings var root = await _jsonSerializer.DeserializeFromStreamAsync(responce.Content).ConfigureAwait(false); if (root.message == "OK") { - _logger.Info("Authenticated with Schedules Direct token: " + root.token); + _logger.LogInformation("Authenticated with Schedules Direct token: " + root.token); return root.token; } @@ -780,7 +780,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings throw new ArgumentException("Listings Id required"); } - _logger.Info("Adding new LineUp "); + _logger.LogInformation("Adding new LineUp "); var httpOptions = new HttpRequestOptions() { @@ -823,7 +823,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings throw new Exception("token required"); } - _logger.Info("Headends on account "); + _logger.LogInformation("Headends on account "); var options = new HttpRequestOptions() { @@ -927,8 +927,8 @@ namespace Emby.Server.Implementations.LiveTv.Listings using (var response = httpResponse.Content) { var root = await _jsonSerializer.DeserializeFromStreamAsync(response).ConfigureAwait(false); - _logger.Info("Found " + root.map.Count + " channels on the lineup on ScheduleDirect"); - _logger.Info("Mapping Stations to Channel"); + _logger.LogInformation("Found " + root.map.Count + " channels on the lineup on ScheduleDirect"); + _logger.LogInformation("Mapping Stations to Channel"); var allStations = root.stations ?? new List(); diff --git a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs b/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs index b0ffd057d..cc8840e14 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs @@ -7,7 +7,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Linq; using System.Threading; @@ -376,7 +376,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting image info for {0}", ex, info.Name); + _logger.LogError("Error getting image info for {0}", ex, info.Name); } return null; diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index e4400220e..5c0f76ba1 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -14,7 +14,7 @@ using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Serialization; using System; @@ -263,7 +263,7 @@ namespace Emby.Server.Implementations.LiveTv var channel = (LiveTvChannel)_libraryManager.GetItemById(id); isVideo = channel.ChannelType == ChannelType.TV; service = GetService(channel); - _logger.Info("Opening channel stream from {0}, external channel Id: {1}", service.Name, channel.ExternalId); + _logger.LogInformation("Opening channel stream from {0}, external channel Id: {1}", service.Name, channel.ExternalId); var supportsManagedStream = service as ISupportsDirectStreamProvider; if (supportsManagedStream != null) @@ -282,7 +282,7 @@ namespace Emby.Server.Implementations.LiveTv var startTime = DateTime.UtcNow; await liveStream.Open(cancellationToken).ConfigureAwait(false); var endTime = DateTime.UtcNow; - _logger.Info("Live stream opened after {0}ms", (endTime - startTime).TotalMilliseconds); + _logger.LogInformation("Live stream opened after {0}ms", (endTime - startTime).TotalMilliseconds); } info.RequiresClosing = true; @@ -1093,7 +1093,7 @@ namespace Emby.Server.Implementations.LiveTv { cancellationToken.ThrowIfCancellationRequested(); - _logger.Debug("Refreshing guide from {0}", service.Name); + _logger.LogDebug("Refreshing guide from {0}", service.Name); try { @@ -1112,7 +1112,7 @@ namespace Emby.Server.Implementations.LiveTv catch (Exception ex) { cleanDatabase = false; - _logger.ErrorException("Error refreshing channels for service", ex); + _logger.LogError("Error refreshing channels for service", ex); } numComplete++; @@ -1175,7 +1175,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting channel information for {0}", ex, channelInfo.Item2.Name); + _logger.LogError("Error getting channel information for {0}", ex, channelInfo.Item2.Name); } numComplete++; @@ -1193,7 +1193,7 @@ namespace Emby.Server.Implementations.LiveTv var guideDays = GetGuideDays(); - _logger.Info("Refreshing guide with {0} days of guide data", guideDays); + _logger.LogInformation("Refreshing guide with {0} days of guide data", guideDays); cancellationToken.ThrowIfCancellationRequested(); @@ -1269,7 +1269,7 @@ namespace Emby.Server.Implementations.LiveTv } } - _logger.Debug("Channel {0} has {1} new programs and {2} updated programs", currentChannel.Name, newPrograms.Count, updatedPrograms.Count); + _logger.LogDebug("Channel {0} has {1} new programs and {2} updated programs", currentChannel.Name, newPrograms.Count, updatedPrograms.Count); if (newPrograms.Count > 0) { @@ -1304,7 +1304,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting programs for channel {0}", ex, currentChannel.Name); + _logger.LogError("Error getting programs for channel {0}", ex, currentChannel.Name); } numComplete++; @@ -1649,7 +1649,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting recordings", ex); + _logger.LogError("Error getting recordings", ex); return new List>(); } }); @@ -1725,7 +1725,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting recordings", ex); + _logger.LogError("Error getting recordings", ex); return new List>(); } }); @@ -1880,7 +1880,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting recordings", ex); + _logger.LogError("Error getting recordings", ex); return new List>(); } }); @@ -1926,7 +1926,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.ErrorException("Error getting recordings", ex); + _logger.LogError("Error getting recordings", ex); return new List>(); } }); @@ -2162,7 +2162,7 @@ namespace Emby.Server.Implementations.LiveTv await service.CreateTimerAsync(info, cancellationToken).ConfigureAwait(false); } - _logger.Info("New recording scheduled"); + _logger.LogInformation("New recording scheduled"); if (!(service is EmbyTV.EmbyTV)) { @@ -2183,7 +2183,7 @@ namespace Emby.Server.Implementations.LiveTv if (!registration.IsValid) { - _logger.Info("Creating series recordings requires an active Emby Premiere subscription."); + _logger.LogInformation("Creating series recordings requires an active Emby Premiere subscription."); return; } diff --git a/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs b/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs index 26a84a275..d13f08b1b 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Serialization; using System; @@ -29,14 +29,14 @@ namespace Emby.Server.Implementations.LiveTv private readonly IServerApplicationHost _appHost; private IApplicationPaths _appPaths; - public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IApplicationPaths appPaths, IJsonSerializer jsonSerializer, ILogManager logManager, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IServerApplicationHost appHost) + public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IApplicationPaths appPaths, IJsonSerializer jsonSerializer, ILoggerFactory loggerFactory, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IServerApplicationHost appHost) { _liveTvManager = liveTvManager; _jsonSerializer = jsonSerializer; _mediaSourceManager = mediaSourceManager; _mediaEncoder = mediaEncoder; _appHost = appHost; - _logger = logManager.GetLogger(GetType().Name); + _logger = loggerFactory.CreateLogger(GetType().Name); _appPaths = appPaths; } @@ -116,7 +116,7 @@ namespace Emby.Server.Implementations.LiveTv } } - _logger.Debug("MediaSources: {0}", _jsonSerializer.SerializeToString(list)); + _logger.LogDebug("MediaSources: {0}", _jsonSerializer.SerializeToString(list)); return list; } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs index ca5e51971..97c33f1fa 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs @@ -2,7 +2,7 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -63,7 +63,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts var result = await GetChannelsInternal(tuner, cancellationToken).ConfigureAwait(false); var list = result.ToList(); - //Logger.Info("Channels from {0}: {1}", tuner.Url, JsonSerializer.SerializeToString(list)); + //logger.LogInformation("Channels from {0}: {1}", tuner.Url, JsonSerializer.SerializeToString(list)); if (!string.IsNullOrEmpty(key) && list.Count > 0) { @@ -114,7 +114,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.ErrorException("Error getting channel list", ex); + Logger.LogError("Error getting channel list", ex); if (enableCache) { @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.Error("Error getting channels", ex); + Logger.LogError("Error getting channels", ex); } } } @@ -201,7 +201,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.Error("Error getting channels", ex); + Logger.LogError("Error getting channels", ex); } } @@ -216,12 +216,12 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts var startTime = DateTime.UtcNow; await liveStream.Open(cancellationToken).ConfigureAwait(false); var endTime = DateTime.UtcNow; - Logger.Info("Live stream opened after {0}ms", (endTime - startTime).TotalMilliseconds); + Logger.LogInformation("Live stream opened after {0}ms", (endTime - startTime).TotalMilliseconds); return liveStream; } catch (Exception ex) { - Logger.Error("Error opening tuner", ex); + Logger.LogError("Error opening tuner", ex); } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index e873eb8e9..a8d1dcaa3 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Serialization; using System; @@ -303,7 +303,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } catch (Exception ex) { - Logger.ErrorException("Error getting tuner info", ex); + Logger.LogError("Error getting tuner info", ex); } } @@ -581,7 +581,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { var profile = streamId.Split('_')[0]; - Logger.Info("GetChannelStream: channel id: {0}. stream id: {1} profile: {2}", channelInfo.Id, streamId, profile); + Logger.LogInformation("GetChannelStream: channel id: {0}. stream id: {1} profile: {2}", channelInfo.Id, streamId, profile); var hdhrId = GetHdHrIdFromChannelId(channelInfo.Id); diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs index 2bc5a0ed3..0e84622bd 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs @@ -6,7 +6,7 @@ using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Net; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Controller.LiveTv; using System.Net; @@ -244,7 +244,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun private async Task ReleaseLockkey(ISocket tcpClient, uint lockKeyValue) { - _logger.Info("HdHomerunManager.ReleaseLockkey {0}", lockKeyValue); + _logger.LogInformation("HdHomerunManager.ReleaseLockkey {0}", lockKeyValue); var ipEndPoint = new IpEndPointInfo(_remoteIp, HdHomeRunPort); diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs index 33103979e..933c34124 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs @@ -7,7 +7,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.System; using MediaBrowser.Model.LiveTv; @@ -56,7 +56,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath)); - Logger.Info("Opening HDHR UDP Live stream from {0}", uri.Host); + Logger.LogInformation("Opening HDHR UDP Live stream from {0}", uri.Host); var remoteAddress = IPAddress.Parse(uri.Host); var embyRemoteAddress = _networkManager.ParseIpAddress(uri.Host); @@ -71,7 +71,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } catch (Exception) { - Logger.Error("Unable to determine local ip address for Legacy HDHomerun stream."); + Logger.LogError("Unable to determine local ip address for Legacy HDHomerun stream."); return; } } @@ -92,7 +92,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun { if (!(ex is OperationCanceledException)) { - Logger.ErrorException("Error opening live stream:", ex); + Logger.LogError("Error opening live stream:", ex); } throw; } @@ -131,12 +131,12 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } catch (OperationCanceledException ex) { - Logger.Info("HDHR UDP stream cancelled or timed out from {0}", remoteAddress); + Logger.LogInformation("HDHR UDP stream cancelled or timed out from {0}", remoteAddress); openTaskCompletionSource.TrySetException(ex); } catch (Exception ex) { - Logger.ErrorException("Error opening live stream:", ex); + Logger.LogError("Error opening live stream:", ex); openTaskCompletionSource.TrySetException(ex); } @@ -346,4 +346,4 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs index 7e0ac4131..b1eda3b7f 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs @@ -8,7 +8,7 @@ using MediaBrowser.Controller.IO; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; using MediaBrowser.Model.LiveTv; using System.Linq; @@ -75,7 +75,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts { EnableStreamSharing = false; - Logger.Info("Closing " + GetType().Name); + Logger.LogInformation("Closing " + GetType().Name); LiveStreamCancellationTokenSource.Cancel(); @@ -95,7 +95,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.ErrorException("Error closing live stream", ex); + Logger.LogError("Error closing live stream", ex); } } @@ -120,7 +120,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts { if (retryCount == 0) { - Logger.Info("Deleting temp files {0}", string.Join(", ", paths.ToArray())); + Logger.LogInformation("Deleting temp files {0}", string.Join(", ", paths.ToArray())); } var failedFiles = new List(); @@ -139,7 +139,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - //Logger.ErrorException("Error deleting file {0}", ex, path); + //Logger.LogError("Error deleting file {0}", ex, path); failedFiles.Add(path); } } @@ -181,14 +181,14 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts isLastFile = nextFileInfo.Item2; } - Logger.Info("Live Stream ended."); + Logger.LogInformation("Live Stream ended."); } private Tuple GetNextFile(string currentFile) { var files = GetStreamFilePaths(); - //Logger.Info("Live stream files: {0}", string.Join(", ", files.ToArray())); + //logger.LogInformation("Live stream files: {0}", string.Join(", ", files.ToArray())); if (string.IsNullOrEmpty(currentFile)) { @@ -204,7 +204,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts private async Task CopyFile(string path, bool seekFile, int emptyReadLimit, bool allowAsync, Stream stream, CancellationToken cancellationToken) { - //Logger.Info("Opening live stream file {0}. Empty read limit: {1}", path, emptyReadLimit); + //logger.LogInformation("Opening live stream file {0}. Empty read limit: {1}", path, emptyReadLimit); using (var inputStream = (FileStream)GetInputStream(path, allowAsync)) { @@ -227,7 +227,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts private void TrySeek(FileStream stream, long offset) { - //Logger.Info("TrySeek live stream"); + //logger.LogInformation("TrySeek live stream"); try { stream.Seek(offset, SeekOrigin.End); @@ -242,7 +242,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.ErrorException("Error seeking stream", ex); + Logger.LogError("Error seeking stream", ex); } } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs index a1bff2b5b..a54bd1613 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using System; using System.Collections.Generic; @@ -205,4 +205,4 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts return Task.FromResult(new List()); } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs index ca744b615..208225c1e 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs @@ -12,7 +12,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Extensions; namespace Emby.Server.Implementations.LiveTv.TunerHosts @@ -88,7 +88,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts if (line.StartsWith(ExtInfPrefix, StringComparison.OrdinalIgnoreCase)) { extInf = line.Substring(ExtInfPrefix.Length).Trim(); - _logger.Info("Found m3u channel: {0}", extInf); + _logger.LogInformation("Found m3u channel: {0}", extInf); } else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase)) { @@ -335,4 +335,4 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts return dict; } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs index 572edb167..ca53036a4 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs @@ -9,7 +9,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.System; using System.Globalization; @@ -44,7 +44,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath)); var typeName = GetType().Name; - Logger.Info("Opening " + typeName + " Live stream from {0}", url); + Logger.LogInformation("Opening " + typeName + " Live stream from {0}", url); var httpRequestOptions = new HttpRequestOptions { @@ -125,17 +125,12 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts { try { + Logger.LogInformation("Beginning {0} stream to {1}", GetType().Name, TempFilePath); using (response) + using (var stream = response.Content) + using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None)) { - using (var stream = response.Content) - { - Logger.Info("Beginning {0} stream to {1}", GetType().Name, TempFilePath); - - using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None)) - { - await ApplicationHost.StreamHelper.CopyToAsync(stream, fileStream, 81920, () => Resolve(openTaskCompletionSource), cancellationToken).ConfigureAwait(false); - } - } + await ApplicationHost.StreamHelper.CopyToAsync(stream, fileStream, 81920, () => Resolve(openTaskCompletionSource), cancellationToken).ConfigureAwait(false); } } catch (OperationCanceledException) @@ -143,7 +138,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.ErrorException("Error copying live stream.", ex); + Logger.LogError("Error copying live stream.", ex); } EnableStreamSharing = false; await DeleteTempFiles(new List { TempFilePath }).ConfigureAwait(false); diff --git a/Emby.Server.Implementations/Localization/LocalizationManager.cs b/Emby.Server.Implementations/Localization/LocalizationManager.cs index 71a4ca824..c6de9d957 100644 --- a/Emby.Server.Implementations/Localization/LocalizationManager.cs +++ b/Emby.Server.Implementations/Localization/LocalizationManager.cs @@ -10,7 +10,7 @@ using System.Globalization; using System.IO; using System.Linq; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Reflection; namespace Emby.Server.Implementations.Localization @@ -82,7 +82,7 @@ namespace Emby.Server.Implementations.Localization using (var stream = _assemblyInfo.GetManifestResourceStream(type, resource)) { var target = Path.Combine(localizationPath, filename); - _logger.Info("Extracting ratings to {0}", target); + _logger.LogInformation("Extracting ratings to {0}", target); using (var fs = _fileSystem.GetFileStream(target, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read)) { diff --git a/Emby.Server.Implementations/Logging/ConsoleLogger.cs b/Emby.Server.Implementations/Logging/ConsoleLogger.cs deleted file mode 100644 index 51199f08a..000000000 --- a/Emby.Server.Implementations/Logging/ConsoleLogger.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using MediaBrowser.Model.Logging; - -namespace Emby.Server.Implementations.Logging -{ - public class ConsoleLogger : IConsoleLogger - { - public void WriteLine(string message) - { - Console.WriteLine(message); - } - } -} diff --git a/Emby.Server.Implementations/Logging/SimpleLogManager.cs b/Emby.Server.Implementations/Logging/SimpleLogManager.cs deleted file mode 100644 index 390814c34..000000000 --- a/Emby.Server.Implementations/Logging/SimpleLogManager.cs +++ /dev/null @@ -1,360 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Model.Logging; - -namespace Emby.Server.Implementations.Logging -{ - public class SimpleLogManager : ILogManager, IDisposable - { - public LogSeverity LogSeverity { get; set; } - public string ExceptionMessagePrefix { get; set; } - private FileLogger _fileLogger; - - private readonly string LogDirectory; - private readonly string LogFilePrefix; - public string DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff"; - - public SimpleLogManager(string logDirectory, string logFileNamePrefix) - { - LogDirectory = logDirectory; - LogFilePrefix = logFileNamePrefix; - } - - public ILogger GetLogger(string name) - { - return new NamedLogger(name, this); - } - - public async Task ReloadLogger(LogSeverity severity, CancellationToken cancellationToken) - { - LogSeverity = severity; - - var logger = _fileLogger; - if (logger != null) - { - logger.Dispose(); - await TryMoveToArchive(logger.Path, cancellationToken).ConfigureAwait(false); - } - - var newPath = Path.Combine(LogDirectory, LogFilePrefix + ".txt"); - - if (File.Exists(newPath)) - { - newPath = await TryMoveToArchive(newPath, cancellationToken).ConfigureAwait(false); - } - - _fileLogger = new FileLogger(newPath); - - if (LoggerLoaded != null) - { - try - { - LoggerLoaded(this, EventArgs.Empty); - } - catch (Exception ex) - { - GetLogger("Logger").ErrorException("Error in LoggerLoaded event", ex); - } - } - } - - private async Task TryMoveToArchive(string file, CancellationToken cancellationToken, int retryCount = 0) - { - var archivePath = GetArchiveFilePath(); - - try - { - File.Move(file, archivePath); - - return file; - } - catch (FileNotFoundException) - { - return file; - } - catch (DirectoryNotFoundException) - { - return file; - } - catch - { - if (retryCount >= 50) - { - return GetArchiveFilePath(); - } - - await Task.Delay(100, cancellationToken).ConfigureAwait(false); - - return await TryMoveToArchive(file, cancellationToken, retryCount + 1).ConfigureAwait(false); - } - } - - private string GetArchiveFilePath() - { - return Path.Combine(LogDirectory, LogFilePrefix + "-" + decimal.Floor(DateTime.Now.Ticks / 10000000) + ".txt"); - } - - public event EventHandler LoggerLoaded; - - public void Flush() - { - var logger = _fileLogger; - if (logger != null) - { - logger.Flush(); - } - } - - private bool _console = true; - public void AddConsoleOutput() - { - _console = true; - } - - public void RemoveConsoleOutput() - { - _console = false; - } - - public void Log(string message) - { - if (_console) - { - Console.WriteLine(message); - } - - var logger = _fileLogger; - if (logger != null) - { - message = DateTime.Now.ToString(DateTimeFormat) + " " + message; - - logger.Log(message); - } - } - - public void Dispose() - { - var logger = _fileLogger; - if (logger != null) - { - logger.Dispose(); - - var task = TryMoveToArchive(logger.Path, CancellationToken.None); - Task.WaitAll(task); - } - - _fileLogger = null; - } - } - - public class FileLogger : IDisposable - { - private readonly FileStream _fileStream; - - private bool _disposed; - private readonly CancellationTokenSource _cancellationTokenSource; - private readonly BlockingCollection _queue = new BlockingCollection(); - - public string Path { get; set; } - - public FileLogger(string path) - { - Path = path; - - Directory.CreateDirectory(System.IO.Path.GetDirectoryName(path)); - - _fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read, 32768); - _cancellationTokenSource = new CancellationTokenSource(); - - Task.Factory.StartNew(LogInternal, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); - } - - private void LogInternal() - { - while (!_cancellationTokenSource.IsCancellationRequested && !_disposed) - { - try - { - foreach (var message in _queue.GetConsumingEnumerable()) - { - var bytes = Encoding.UTF8.GetBytes(message + Environment.NewLine); - if (_disposed) - { - return; - } - - _fileStream.Write(bytes, 0, bytes.Length); - if (_disposed) - { - return; - } - - _fileStream.Flush(true); - } - } - catch - { - - } - } - } - - public void Log(string message) - { - if (_disposed) - { - return; - } - - _queue.Add(message); - } - - public void Flush() - { - if (_disposed) - { - return; - } - - _fileStream.Flush(true); - } - - public void Dispose() - { - if (_disposed) - { - return; - } - - _disposed = true; - _cancellationTokenSource.Cancel(); - - var stream = _fileStream; - if (stream != null) - { - using (stream) - { - stream.Flush(true); - } - } - } - } - - public class NamedLogger : ILogger - { - public string Name { get; private set; } - private readonly SimpleLogManager _logManager; - - public NamedLogger(string name, SimpleLogManager logManager) - { - Name = name; - _logManager = logManager; - } - - public void Info(string message, params object[] paramList) - { - Log(LogSeverity.Info, message, paramList); - } - - public void Error(string message, params object[] paramList) - { - Log(LogSeverity.Error, message, paramList); - } - - public void Warn(string message, params object[] paramList) - { - Log(LogSeverity.Warn, message, paramList); - } - - public void Debug(string message, params object[] paramList) - { - if (_logManager.LogSeverity == LogSeverity.Info) - { - return; - } - Log(LogSeverity.Debug, message, paramList); - } - - public void Fatal(string message, params object[] paramList) - { - Log(LogSeverity.Fatal, message, paramList); - } - - public void FatalException(string message, Exception exception, params object[] paramList) - { - ErrorException(message, exception, paramList); - } - - public void ErrorException(string message, Exception exception, params object[] paramList) - { - LogException(LogSeverity.Error, message, exception, paramList); - } - - private void LogException(LogSeverity level, string message, Exception exception, params object[] paramList) - { - message = FormatMessage(message, paramList).Replace(Environment.NewLine, ". "); - - var messageText = LogHelper.GetLogMessage(exception); - - var prefix = _logManager.ExceptionMessagePrefix; - - if (!string.IsNullOrWhiteSpace(prefix)) - { - messageText.Insert(0, prefix); - } - - LogMultiline(message, level, messageText); - } - - private static string FormatMessage(string message, params object[] paramList) - { - if (paramList != null) - { - for (var i = 0; i < paramList.Length; i++) - { - var obj = paramList[i]; - - message = message.Replace("{" + i + "}", (obj == null ? "null" : obj.ToString())); - } - } - - return message; - } - - public void LogMultiline(string message, LogSeverity severity, StringBuilder additionalContent) - { - if (severity == LogSeverity.Debug && _logManager.LogSeverity == LogSeverity.Info) - { - return; - } - - additionalContent.Insert(0, message + Environment.NewLine); - - const char tabChar = '\t'; - - var text = additionalContent.ToString() - .Replace(Environment.NewLine, Environment.NewLine + tabChar) - .TrimEnd(tabChar); - - if (text.EndsWith(Environment.NewLine)) - { - text = text.Substring(0, text.LastIndexOf(Environment.NewLine, StringComparison.OrdinalIgnoreCase)); - } - - Log(severity, text); - } - - public void Log(LogSeverity severity, string message, params object[] paramList) - { - message = severity + " " + Name + ": " + FormatMessage(message, paramList); - - _logManager.Log(message); - } - } -} diff --git a/Emby.Server.Implementations/Logging/UnhandledExceptionWriter.cs b/Emby.Server.Implementations/Logging/UnhandledExceptionWriter.cs deleted file mode 100644 index 7104935e1..000000000 --- a/Emby.Server.Implementations/Logging/UnhandledExceptionWriter.cs +++ /dev/null @@ -1,45 +0,0 @@ -using MediaBrowser.Common.Configuration; -using MediaBrowser.Model.Logging; -using System; -using System.IO; -using MediaBrowser.Model.IO; - -namespace Emby.Server.Implementations.Logging -{ - public class UnhandledExceptionWriter - { - private readonly IApplicationPaths _appPaths; - private readonly ILogger _logger; - private readonly ILogManager _logManager; - private readonly IFileSystem _fileSystem; - private readonly IConsoleLogger _console; - - public UnhandledExceptionWriter(IApplicationPaths appPaths, ILogger logger, ILogManager logManager, IFileSystem fileSystem, IConsoleLogger console) - { - _appPaths = appPaths; - _logger = logger; - _logManager = logManager; - _fileSystem = fileSystem; - _console = console; - } - - public void Log(Exception ex) - { - _logger.ErrorException("UnhandledException", ex); - _logManager.Flush(); - - var path = Path.Combine(_appPaths.LogDirectoryPath, "unhandled_" + Guid.NewGuid() + ".txt"); - _fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path)); - - var builder = LogHelper.GetLogMessage(ex); - - // Write to console just in case file logging fails - _console.WriteLine("UnhandledException"); - - var logMessage = builder.ToString(); - _console.WriteLine(logMessage); - - _fileSystem.WriteAllText(path, logMessage); - } - } -} diff --git a/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs b/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs index c6033b4f4..3c7263581 100644 --- a/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs +++ b/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using System; using System.Collections.Generic; @@ -123,7 +123,7 @@ namespace Emby.Server.Implementations.MediaEncoder { if (chapter.StartPositionTicks >= runtimeTicks) { - _logger.Info("Stopping chapter extraction for {0} because a chapter was found with a position greater than the runtime.", video.Name); + _logger.LogInformation("Stopping chapter extraction for {0} because a chapter was found with a position greater than the runtime.", video.Name); break; } @@ -166,7 +166,7 @@ namespace Emby.Server.Implementations.MediaEncoder } catch (Exception ex) { - _logger.ErrorException("Error extracting chapter images for {0}", ex, string.Join(",", video.Path)); + _logger.LogError("Error extracting chapter images for {0}", ex, string.Join(",", video.Path)); success = false; break; } @@ -226,7 +226,7 @@ namespace Emby.Server.Implementations.MediaEncoder foreach (var image in deadImages) { - _logger.Debug("Deleting dead chapter image {0}", image); + _logger.LogDebug("Deleting dead chapter image {0}", image); try { @@ -234,7 +234,7 @@ namespace Emby.Server.Implementations.MediaEncoder } catch (IOException ex) { - _logger.ErrorException("Error deleting {0}.", ex, image); + _logger.LogError("Error deleting {0}.", ex, image); } } } diff --git a/Emby.Server.Implementations/Net/SocketFactory.cs b/Emby.Server.Implementations/Net/SocketFactory.cs index 9726ef097..3f93e767f 100644 --- a/Emby.Server.Implementations/Net/SocketFactory.cs +++ b/Emby.Server.Implementations/Net/SocketFactory.cs @@ -3,7 +3,7 @@ using System.IO; using System.Net; using System.Net.Sockets; using Emby.Server.Implementations.Networking; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; namespace Emby.Server.Implementations.Net diff --git a/Emby.Server.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs index 4699b5bd4..7945680b3 100644 --- a/Emby.Server.Implementations/Networking/NetworkManager.cs +++ b/Emby.Server.Implementations/Networking/NetworkManager.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using MediaBrowser.Common.Net; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.System; using System.Numerics; @@ -36,7 +36,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.ErrorException("Error binding to NetworkAddressChanged event", ex); + Logger.LogError("Error binding to NetworkAddressChanged event", ex); } try @@ -45,20 +45,20 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.ErrorException("Error binding to NetworkChange_NetworkAvailabilityChanged event", ex); + Logger.LogError("Error binding to NetworkChange_NetworkAvailabilityChanged event", ex); } } } private void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) { - Logger.Debug("NetworkAvailabilityChanged"); + Logger.LogDebug("NetworkAvailabilityChanged"); OnNetworkChanged(); } private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) { - Logger.Debug("NetworkAddressChanged"); + Logger.LogDebug("NetworkAddressChanged"); OnNetworkChanged(); } @@ -189,7 +189,7 @@ namespace Emby.Server.Implementations.Networking foreach (var subnet_Match in subnets) { - //Logger.Debug("subnet_Match:" + subnet_Match); + //logger.LogDebug("subnet_Match:" + subnet_Match); if (endpoint.StartsWith(subnet_Match + ".", StringComparison.OrdinalIgnoreCase)) { @@ -355,13 +355,13 @@ namespace Emby.Server.Implementations.Networking try { var host = uri.DnsSafeHost; - Logger.Debug("Resolving host {0}", host); + Logger.LogDebug("Resolving host {0}", host); address = GetIpAddresses(host).Result.FirstOrDefault(); if (address != null) { - Logger.Debug("{0} resolved to {1}", host, address); + Logger.LogDebug("{0} resolved to {1}", host, address); return IsInLocalNetworkInternal(address.ToString(), false); } @@ -372,7 +372,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.ErrorException("Error resovling hostname", ex); + Logger.LogError("Error resovling hostname", ex); } } } @@ -399,7 +399,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.ErrorException("Error in GetAllNetworkInterfaces", ex); + Logger.LogError("Error in GetAllNetworkInterfaces", ex); return new List(); } @@ -409,7 +409,7 @@ namespace Emby.Server.Implementations.Networking try { // suppress logging because it might be causing nas device wake up - //Logger.Debug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus); + //logger.LogDebug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus); var ipProperties = network.GetIPProperties(); @@ -428,7 +428,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.ErrorException("Error querying network interface", ex); + Logger.LogError("Error querying network interface", ex); return new List(); } diff --git a/Emby.Server.Implementations/News/NewsEntryPoint.cs b/Emby.Server.Implementations/News/NewsEntryPoint.cs index 38a250593..95ec2a672 100644 --- a/Emby.Server.Implementations/News/NewsEntryPoint.cs +++ b/Emby.Server.Implementations/News/NewsEntryPoint.cs @@ -4,7 +4,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Notifications; using MediaBrowser.Controller.Plugins; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.News; using MediaBrowser.Model.Notifications; using MediaBrowser.Model.Serialization; @@ -67,7 +67,7 @@ namespace Emby.Server.Implementations.News } catch (Exception ex) { - _logger.ErrorException("Error downloading news", ex); + _logger.LogError("Error downloading news", ex); } } diff --git a/Emby.Server.Implementations/Playlists/PlaylistManager.cs b/Emby.Server.Implementations/Playlists/PlaylistManager.cs index 1e8d30ab9..f5a429552 100644 --- a/Emby.Server.Implementations/Playlists/PlaylistManager.cs +++ b/Emby.Server.Implementations/Playlists/PlaylistManager.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Playlists; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Playlists; using System; using System.Collections.Generic; diff --git a/Emby.Server.Implementations/ResourceFileManager.cs b/Emby.Server.Implementations/ResourceFileManager.cs index ce29b52f6..b268e00db 100644 --- a/Emby.Server.Implementations/ResourceFileManager.cs +++ b/Emby.Server.Implementations/ResourceFileManager.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Extensions; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Serialization; using System; @@ -59,7 +59,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - _logger.ErrorException("Error in Path.GetFullPath", ex); + _logger.LogError("Error in Path.GetFullPath", ex); } // Don't allow file system access outside of the source folder diff --git a/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index 8ed2dbaed..f259b4d93 100644 --- a/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Persistence; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.IO; @@ -44,9 +44,9 @@ namespace Emby.Server.Implementations.ScheduledTasks /// /// Initializes a new instance of the class. /// - public ChapterImagesTask(ILogManager logManager, ILibraryManager libraryManager, IItemRepository itemRepo, IApplicationPaths appPaths, IEncodingManager encodingManager, IFileSystem fileSystem) + public ChapterImagesTask(ILoggerFactory loggerFactory, ILibraryManager libraryManager, IItemRepository itemRepo, IApplicationPaths appPaths, IEncodingManager encodingManager, IFileSystem fileSystem) { - _logger = logManager.GetLogger(GetType().Name); + _logger = loggerFactory.CreateLogger(GetType().Name); _libraryManager = libraryManager; _itemRepo = itemRepo; _appPaths = appPaths; diff --git a/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs index a2779c7cd..afcee02e5 100644 --- a/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs +++ b/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs @@ -2,7 +2,7 @@ using System.Globalization; using System.Threading; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; namespace Emby.Server.Implementations.ScheduledTasks @@ -45,7 +45,7 @@ namespace Emby.Server.Implementations.ScheduledTasks var dueTime = triggerDate - now; - logger.Info("Daily trigger for {0} set to fire at {1}, which is {2} minutes from now.", taskName, triggerDate.ToString(), dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); + logger.LogInformation("Daily trigger for {0} set to fire at {1}, which is {2} minutes from now.", taskName, triggerDate.ToString(), dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); Timer = new Timer(state => OnTriggered(), null, dueTime, TimeSpan.FromMilliseconds(-1)); } diff --git a/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs index dcccb252a..5f6a0dfe6 100644 --- a/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs +++ b/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Threading; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; namespace Emby.Server.Implementations.ScheduledTasks diff --git a/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs new file mode 100644 index 000000000..c77efb5cd --- /dev/null +++ b/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs @@ -0,0 +1,142 @@ +using MediaBrowser.Common; +using MediaBrowser.Common.Updates; +using Microsoft.Extensions.Logging; +using MediaBrowser.Model.Net; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Common.Progress; +using MediaBrowser.Model.Tasks; + +namespace Emby.Server.Implementations.ScheduledTasks +{ + /// + /// Plugin Update Task + /// + public class PluginUpdateTask : IScheduledTask, IConfigurableScheduledTask + { + /// + /// The _logger + /// + private readonly ILogger _logger; + + private readonly IInstallationManager _installationManager; + + private readonly IApplicationHost _appHost; + + public PluginUpdateTask(ILogger logger, IInstallationManager installationManager, IApplicationHost appHost) + { + _logger = logger; + _installationManager = installationManager; + _appHost = appHost; + } + + /// + /// Creates the triggers that define when the task will run + /// + /// IEnumerable{BaseTaskTrigger}. + public IEnumerable GetDefaultTriggers() + { + return new[] { + + // At startup + new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup}, + + // Every so often + new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks} + }; + } + + public string Key + { + get { return "PluginUpdates"; } + } + + /// + /// Update installed plugins + /// + /// The cancellation token. + /// The progress. + /// Task. + public async Task Execute(CancellationToken cancellationToken, IProgress progress) + { + progress.Report(0); + + var packagesToInstall = (await _installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, true, cancellationToken).ConfigureAwait(false)).ToList(); + + progress.Report(10); + + var numComplete = 0; + + foreach (var package in packagesToInstall) + { + cancellationToken.ThrowIfCancellationRequested(); + + try + { + await _installationManager.InstallPackage(package, true, new SimpleProgress(), cancellationToken).ConfigureAwait(false); + } + catch (OperationCanceledException) + { + // InstallPackage has it's own inner cancellation token, so only throw this if it's ours + if (cancellationToken.IsCancellationRequested) + { + throw; + } + } + catch (HttpException ex) + { + _logger.LogError("Error downloading {0}", ex, package.name); + } + catch (IOException ex) + { + _logger.LogError("Error updating {0}", ex, package.name); + } + + // Update progress + lock (progress) + { + numComplete++; + double percent = numComplete; + percent /= packagesToInstall.Count; + + progress.Report(90 * percent + 10); + } + } + + progress.Report(100); + } + + /// + /// Gets the name of the task + /// + /// The name. + public string Name + { + get { return "Check for plugin updates"; } + } + + /// + /// Gets the description. + /// + /// The description. + public string Description + { + get { return "Downloads and installs updates for plugins that are configured to update automatically."; } + } + + public string Category + { + get { return "Application"; } + } + + public bool IsHidden => true; + + public bool IsEnabled => true; + + public bool IsLogged => true; + } +} diff --git a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index eeb38bf54..93e02063b 100644 --- a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -10,7 +10,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Progress; using MediaBrowser.Model.Events; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; @@ -146,7 +146,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.ErrorException("Error deserializing {0}", ex, path); + Logger.LogError("Error deserializing {0}", ex, path); } _readFromFile = true; } @@ -360,7 +360,7 @@ namespace Emby.Server.Implementations.ScheduledTasks return; } - Logger.Info("{0} fired for task: {1}", trigger.GetType().Name, Name); + Logger.LogInformation("{0} fired for task: {1}", trigger.GetType().Name, Name); trigger.Stop(); @@ -408,7 +408,7 @@ namespace Emby.Server.Implementations.ScheduledTasks CurrentCancellationTokenSource = new CancellationTokenSource(); - Logger.Info("Executing {0}", Name); + Logger.LogInformation("Executing {0}", Name); ((TaskManager)TaskManager).OnTaskExecuting(this); @@ -436,7 +436,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.ErrorException("Error", ex); + Logger.LogError("Error", ex); failureException = ex; @@ -493,7 +493,7 @@ namespace Emby.Server.Implementations.ScheduledTasks { if (State == TaskState.Running) { - Logger.Info("Attempting to cancel Scheduled Task {0}", Name); + Logger.LogInformation("Attempting to cancel Scheduled Task {0}", Name); CurrentCancellationTokenSource.Cancel(); } } @@ -614,7 +614,7 @@ namespace Emby.Server.Implementations.ScheduledTasks { var elapsedTime = endTime - startTime; - Logger.Info("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); + Logger.LogInformation("{0} {1} after {2} minute(s) and {3} seconds", Name, status, Math.Truncate(elapsedTime.TotalMinutes), elapsedTime.Seconds); var result = new TaskResult { @@ -664,12 +664,12 @@ namespace Emby.Server.Implementations.ScheduledTasks { try { - Logger.Info(Name + ": Cancelling"); + Logger.LogInformation(Name + ": Cancelling"); token.Cancel(); } catch (Exception ex) { - Logger.ErrorException("Error calling CancellationToken.Cancel();", ex); + Logger.LogError("Error calling CancellationToken.Cancel();", ex); } } var task = _currentTask; @@ -677,21 +677,21 @@ namespace Emby.Server.Implementations.ScheduledTasks { try { - Logger.Info(Name + ": Waiting on Task"); + Logger.LogInformation(Name + ": Waiting on Task"); var exited = Task.WaitAll(new[] { task }, 2000); if (exited) { - Logger.Info(Name + ": Task exited"); + Logger.LogInformation(Name + ": Task exited"); } else { - Logger.Info(Name + ": Timed out waiting for task to stop"); + Logger.LogInformation(Name + ": Timed out waiting for task to stop"); } } catch (Exception ex) { - Logger.ErrorException("Error calling Task.WaitAll();", ex); + Logger.LogError("Error calling Task.WaitAll();", ex); } } @@ -699,12 +699,12 @@ namespace Emby.Server.Implementations.ScheduledTasks { try { - Logger.Debug(Name + ": Disposing CancellationToken"); + Logger.LogDebug(Name + ": Disposing CancellationToken"); token.Dispose(); } catch (Exception ex) { - Logger.ErrorException("Error calling CancellationToken.Dispose();", ex); + Logger.LogError("Error calling CancellationToken.Dispose();", ex); } } if (wassRunning) diff --git a/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs index 20a4304cc..35366a044 100644 --- a/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs +++ b/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; namespace Emby.Server.Implementations.ScheduledTasks diff --git a/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs index c4623bf5b..def142f88 100644 --- a/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs +++ b/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs @@ -1,7 +1,7 @@ using System; using System.Threading.Tasks; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; diff --git a/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs index 0c9eb0f1b..4cb97cbda 100644 --- a/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs @@ -1,6 +1,6 @@ using MediaBrowser.Common; using MediaBrowser.Common.Configuration; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading; @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.ScheduledTasks if (!updateInfo.IsUpdateAvailable) { - Logger.Debug("No application update available."); + Logger.LogDebug("No application update available."); return; } @@ -83,13 +83,13 @@ namespace Emby.Server.Implementations.ScheduledTasks if (ConfigurationManager.CommonConfiguration.EnableAutoUpdate) { - Logger.Info("Update Revision {0} available. Updating...", updateInfo.AvailableVersion); + Logger.LogInformation("Update Revision {0} available. Updating...", updateInfo.AvailableVersion); await _appHost.UpdateApplication(updateInfo.Package, cancellationToken, progress).ConfigureAwait(false); } else { - Logger.Info("A new version of " + _appHost.Name + " is available."); + Logger.LogInformation("A new version of " + _appHost.Name + " is available."); } } diff --git a/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs index 8963693ab..0322583dc 100644 --- a/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs +++ b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs @@ -7,7 +7,7 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Events; using MediaBrowser.Model.Events; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.System; using MediaBrowser.Model.Tasks; @@ -185,7 +185,7 @@ namespace Emby.Server.Implementations.ScheduledTasks if (scheduledTask == null) { - Logger.Error("Unable to find scheduled task of type {0} in QueueScheduledTask.", typeof(T).Name); + Logger.LogError("Unable to find scheduled task of type {0} in QueueScheduledTask.", typeof(T).Name); } else { @@ -217,13 +217,13 @@ namespace Emby.Server.Implementations.ScheduledTasks if (scheduledTask == null) { - Logger.Error("Unable to find scheduled task of type {0} in Execute.", typeof(T).Name); + Logger.LogError("Unable to find scheduled task of type {0} in Execute.", typeof(T).Name); } else { var type = scheduledTask.ScheduledTask.GetType(); - Logger.Info("Queueing task {0}", type.Name); + Logger.LogInformation("Queueing task {0}", type.Name); lock (_taskQueue) { @@ -246,7 +246,7 @@ namespace Emby.Server.Implementations.ScheduledTasks if (scheduledTask == null) { - Logger.Error("Unable to find scheduled task of type {0} in QueueScheduledTask.", task.GetType().Name); + Logger.LogError("Unable to find scheduled task of type {0} in QueueScheduledTask.", task.GetType().Name); } else { @@ -263,7 +263,7 @@ namespace Emby.Server.Implementations.ScheduledTasks { var type = task.ScheduledTask.GetType(); - Logger.Info("Queueing task {0}", type.Name); + Logger.LogInformation("Queueing task {0}", type.Name); lock (_taskQueue) { @@ -360,7 +360,7 @@ namespace Emby.Server.Implementations.ScheduledTasks /// private void ExecuteQueuedTasks() { - Logger.Info("ExecuteQueuedTasks"); + Logger.LogInformation("ExecuteQueuedTasks"); // Execute queued tasks lock (_taskQueue) diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs index 05fb08447..efadd7111 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs @@ -6,7 +6,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.Configuration; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; namespace Emby.Server.Implementations.ScheduledTasks.Tasks @@ -132,11 +132,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks } catch (UnauthorizedAccessException ex) { - _logger.ErrorException("Error deleting directory {0}", ex, directory); + _logger.LogError("Error deleting directory {0}", ex, directory); } catch (IOException ex) { - _logger.ErrorException("Error deleting directory {0}", ex, directory); + _logger.LogError("Error deleting directory {0}", ex, directory); } } } @@ -150,11 +150,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks } catch (UnauthorizedAccessException ex) { - _logger.ErrorException("Error deleting file {0}", ex, path); + _logger.LogError("Error deleting file {0}", ex, path); } catch (IOException ex) { - _logger.ErrorException("Error deleting file {0}", ex, path); + _logger.LogError("Error deleting file {0}", ex, path); } } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs deleted file mode 100644 index fbc3a309e..000000000 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Common.Configuration; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Tasks; - -namespace Emby.Server.Implementations.ScheduledTasks.Tasks -{ - /// - /// Class ReloadLoggerFileTask - /// - public class ReloadLoggerFileTask : IScheduledTask, IConfigurableScheduledTask - { - /// - /// Gets or sets the log manager. - /// - /// The log manager. - private ILogManager LogManager { get; set; } - /// - /// Gets or sets the configuration manager. - /// - /// The configuration manager. - private IConfigurationManager ConfigurationManager { get; set; } - - /// - /// Initializes a new instance of the class. - /// - /// The logManager. - /// The configuration manager. - public ReloadLoggerFileTask(ILogManager logManager, IConfigurationManager configurationManager) - { - LogManager = logManager; - ConfigurationManager = configurationManager; - } - - /// - /// Gets the default triggers. - /// - /// IEnumerable{BaseTaskTrigger}. - public IEnumerable GetDefaultTriggers() - { - var trigger = new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerDaily, TimeOfDayTicks = TimeSpan.FromHours(0).Ticks }; //12am - - return new[] { trigger }; - } - - /// - /// Executes the internal. - /// - /// The cancellation token. - /// The progress. - /// Task. - public Task Execute(CancellationToken cancellationToken, IProgress progress) - { - cancellationToken.ThrowIfCancellationRequested(); - - progress.Report(0); - - return LogManager.ReloadLogger(ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging - ? LogSeverity.Debug - : LogSeverity.Info, cancellationToken); - } - - /// - /// Gets the name. - /// - /// The name. - public string Name - { - get { return "Rotate log file"; } - } - - public string Key { get; } - - /// - /// Gets the description. - /// - /// The description. - public string Description - { - get { return "Moves logging to a new file to help reduce log file sizes."; } - } - - /// - /// Gets the category. - /// - /// The category. - public string Category - { - get { return "Application"; } - } - - public bool IsHidden - { - get { return false; } - } - - public bool IsEnabled - { - get { return true; } - } - - public bool IsLogged - { - get { return true; } - } - } -} diff --git a/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs index 82b449917..e694e0855 100644 --- a/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs +++ b/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs @@ -1,7 +1,7 @@ using System; using System.Threading; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Tasks; namespace Emby.Server.Implementations.ScheduledTasks diff --git a/Emby.Server.Implementations/Security/AuthenticationRepository.cs b/Emby.Server.Implementations/Security/AuthenticationRepository.cs index f75eb6364..d2c6ed33b 100644 --- a/Emby.Server.Implementations/Security/AuthenticationRepository.cs +++ b/Emby.Server.Implementations/Security/AuthenticationRepository.cs @@ -7,7 +7,7 @@ using System.Threading; using Emby.Server.Implementations.Data; using MediaBrowser.Controller; using MediaBrowser.Controller.Security; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using SQLitePCL.pretty; using MediaBrowser.Model.Extensions; @@ -83,7 +83,7 @@ namespace Emby.Server.Implementations.Security } catch (Exception ex) { - Logger.ErrorException("Error migrating authentication database", ex); + Logger.LogError("Error migrating authentication database", ex); } } diff --git a/Emby.Server.Implementations/Security/PluginSecurityManager.cs b/Emby.Server.Implementations/Security/PluginSecurityManager.cs index 8d8d6700e..aa0f39030 100644 --- a/Emby.Server.Implementations/Security/PluginSecurityManager.cs +++ b/Emby.Server.Implementations/Security/PluginSecurityManager.cs @@ -12,7 +12,7 @@ using MediaBrowser.Controller; using MediaBrowser.Model.Cryptography; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Serialization; @@ -51,7 +51,7 @@ namespace Emby.Server.Implementations.Security /// Initializes a new instance of the class. /// public PluginSecurityManager(IServerApplicationHost appHost, IHttpClient httpClient, IJsonSerializer jsonSerializer, - IApplicationPaths appPaths, ILogManager logManager, IFileSystem fileSystem, ICryptoProvider cryptographyProvider) + IApplicationPaths appPaths, ILoggerFactory loggerFactory, IFileSystem fileSystem, ICryptoProvider cryptographyProvider) { if (httpClient == null) { @@ -64,7 +64,7 @@ namespace Emby.Server.Implementations.Security _appPaths = appPaths; _fileSystem = fileSystem; _cryptographyProvider = cryptographyProvider; - _logger = logManager.GetLogger("SecurityManager"); + _logger = loggerFactory.CreateLogger("SecurityManager"); } /// @@ -135,7 +135,7 @@ namespace Emby.Server.Implementations.Security if (reg == null) { var msg = "Result from appstore registration was null."; - _logger.Error(msg); + _logger.LogError(msg); throw new ArgumentException(msg); } if (!String.IsNullOrEmpty(reg.key)) @@ -152,7 +152,7 @@ namespace Emby.Server.Implementations.Security } catch (HttpException e) { - _logger.ErrorException("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); + _logger.LogError("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); if (e.StatusCode.HasValue && e.StatusCode.Value == HttpStatusCode.PaymentRequired) { @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.Security } catch (Exception e) { - _logger.ErrorException("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); + _logger.LogError("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); SaveAppStoreInfo(parameters); //TODO - could create a re-try routine on start-up if this file is there. For now we can handle manually. throw new Exception("Error registering store sale"); diff --git a/Emby.Server.Implementations/Serialization/JsonSerializer.cs b/Emby.Server.Implementations/Serialization/JsonSerializer.cs index 26371d21d..423fe7b18 100644 --- a/Emby.Server.Implementations/Serialization/JsonSerializer.cs +++ b/Emby.Server.Implementations/Serialization/JsonSerializer.cs @@ -1,7 +1,7 @@ using System; using System.IO; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System.Threading.Tasks; @@ -69,7 +69,7 @@ namespace Emby.Common.Implementations.Serialization private Stream OpenFile(string path) { - //_logger.Debug("Deserializing file {0}", path); + //_logger.LogDebug("Deserializing file {0}", path); return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 131072); } diff --git a/Emby.Server.Implementations/Serialization/XmlSerializer.cs b/Emby.Server.Implementations/Serialization/XmlSerializer.cs index e0603a01f..dfc324919 100644 --- a/Emby.Server.Implementations/Serialization/XmlSerializer.cs +++ b/Emby.Server.Implementations/Serialization/XmlSerializer.cs @@ -4,7 +4,7 @@ using System.IO; using System.Xml; using System.Xml.Serialization; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; namespace Emby.Server.Implementations.Serialization @@ -90,7 +90,7 @@ namespace Emby.Server.Implementations.Serialization /// The file. public void SerializeToFile(object obj, string file) { - _logger.Debug("Serializing to file {0}", file); + _logger.LogDebug("Serializing to file {0}", file); using (var stream = new FileStream(file, FileMode.Create)) { SerializeToStream(obj, stream); @@ -105,7 +105,7 @@ namespace Emby.Server.Implementations.Serialization /// System.Object. public object DeserializeFromFile(Type type, string file) { - _logger.Debug("Deserializing file {0}", file); + _logger.LogDebug("Deserializing file {0}", file); using (var stream = _fileSystem.OpenRead(file)) { return DeserializeFromStream(type, stream); diff --git a/Emby.Server.Implementations/Services/ServiceController.cs b/Emby.Server.Implementations/Services/ServiceController.cs index 3726c9f6b..84ca2d9d1 100644 --- a/Emby.Server.Implementations/Services/ServiceController.cs +++ b/Emby.Server.Implementations/Services/ServiceController.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Reflection; using System.Threading.Tasks; using Emby.Server.Implementations.HttpServer; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Services; namespace Emby.Server.Implementations.Services @@ -183,4 +183,4 @@ namespace Emby.Server.Implementations.Services } } -} \ No newline at end of file +} diff --git a/Emby.Server.Implementations/Services/ServiceHandler.cs b/Emby.Server.Implementations/Services/ServiceHandler.cs index e76857a8d..50965b4a9 100644 --- a/Emby.Server.Implementations/Services/ServiceHandler.cs +++ b/Emby.Server.Implementations/Services/ServiceHandler.cs @@ -4,7 +4,7 @@ using System.Reflection; using System.Threading; using System.Threading.Tasks; using Emby.Server.Implementations.HttpServer; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Services; namespace Emby.Server.Implementations.Services @@ -63,7 +63,8 @@ namespace Emby.Server.Implementations.Services if (this.RestPath == null) { string contentType; - this.RestPath = FindMatchingRestPath(httpMethod, pathInfo, new NullLogger(), out contentType); + // TODO: change null out + this.RestPath = FindMatchingRestPath(httpMethod, pathInfo, null, out contentType); if (contentType != null) ResponseContentType = contentType; diff --git a/Emby.Server.Implementations/Services/ServicePath.cs b/Emby.Server.Implementations/Services/ServicePath.cs index f0e80c216..ef64d20b4 100644 --- a/Emby.Server.Implementations/Services/ServicePath.cs +++ b/Emby.Server.Implementations/Services/ServicePath.cs @@ -4,7 +4,7 @@ using System.IO; using System.Linq; using System.Reflection; using System.Text; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Extensions; namespace Emby.Server.Implementations.Services @@ -354,25 +354,25 @@ namespace Emby.Server.Implementations.Services if (withPathInfoParts.Length != this.PathComponentsCount && !this.IsWildCardPath) { - //logger.Info("withPathInfoParts mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); + //logger.LogInformation("withPathInfoParts mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } if (!Verbs.Contains(httpMethod, StringComparer.OrdinalIgnoreCase)) { - //logger.Info("allowsAllVerbs mismatch for {0} for {1} allowedverbs {2}", httpMethod, string.Join("/", withPathInfoParts), this.allowedVerbs); + //logger.LogInformation("allowsAllVerbs mismatch for {0} for {1} allowedverbs {2}", httpMethod, string.Join("/", withPathInfoParts), this.allowedVerbs); return false; } if (!ExplodeComponents(ref withPathInfoParts)) { - //logger.Info("ExplodeComponents mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); + //logger.LogInformation("ExplodeComponents mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } if (this.TotalComponentsCount != withPathInfoParts.Length && !this.IsWildCardPath) { - //logger.Info("TotalComponentsCount mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); + //logger.LogInformation("TotalComponentsCount mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } @@ -393,7 +393,7 @@ namespace Emby.Server.Implementations.Services // Ensure there are still enough parts left to match the remainder if ((withPathInfoParts.Length - pathIx) < (this.TotalComponentsCount - i - 1)) { - //logger.Info("withPathInfoParts length mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); + //logger.LogInformation("withPathInfoParts length mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } } @@ -416,7 +416,7 @@ namespace Emby.Server.Implementations.Services if (withPathInfoParts.Length <= pathIx || !LiteralsEqual(withPathInfoParts[pathIx], literalToMatch)) { - //logger.Info("withPathInfoParts2 length mismatch for {0} for {1}. not equals: {2} != {3}.", httpMethod, string.Join("/", withPathInfoParts), withPathInfoParts[pathIx], literalToMatch); + //logger.LogInformation("withPathInfoParts2 length mismatch for {0} for {1}. not equals: {2} != {3}.", httpMethod, string.Join("/", withPathInfoParts), withPathInfoParts[pathIx], literalToMatch); return false; } pathIx++; diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs index a2102dc45..2b2b3c677 100644 --- a/Emby.Server.Implementations/Session/SessionManager.cs +++ b/Emby.Server.Implementations/Session/SessionManager.cs @@ -15,7 +15,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Events; using MediaBrowser.Model.Library; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Session; using MediaBrowser.Model.Users; @@ -248,7 +248,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error updating user", ex); + _logger.LogError("Error updating user", ex); } } } @@ -528,7 +528,7 @@ namespace Emby.Server.Implementations.Session foreach (var session in idle) { - _logger.Debug("Session {0} has gone idle while playing", session.Id); + _logger.LogDebug("Session {0} has gone idle while playing", session.Id); try { @@ -543,7 +543,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.Debug("Error calling OnPlaybackStopped", ex); + _logger.LogDebug("Error calling OnPlaybackStopped", ex); } } @@ -847,7 +847,7 @@ namespace Emby.Server.Implementations.Session { var msString = info.PositionTicks.HasValue ? (info.PositionTicks.Value / 10000).ToString(CultureInfo.InvariantCulture) : "unknown"; - _logger.Info("Playback stopped reported by app {0} {1} playing {2}. Stopped at {3} ms", + _logger.LogInformation("Playback stopped reported by app {0} {1} playing {2}. Stopped at {3} ms", session.Client, session.ApplicationVersion, info.Item.Name, @@ -882,7 +882,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error closing live stream", ex); + _logger.LogError("Error closing live stream", ex); } } @@ -1095,7 +1095,7 @@ namespace Emby.Server.Implementations.Session if (item == null) { - _logger.Error("A non-existant item Id {0} was passed into TranslateItemForPlayback", id); + _logger.LogError("A non-existant item Id {0} was passed into TranslateItemForPlayback", id); return new List(); } @@ -1151,7 +1151,7 @@ namespace Emby.Server.Implementations.Session if (item == null) { - _logger.Error("A non-existant item Id {0} was passed into TranslateItemForInstantMix", id); + _logger.LogError("A non-existant item Id {0} was passed into TranslateItemForInstantMix", id); return new List(); } @@ -1222,7 +1222,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error in SendRestartRequiredNotification.", ex); + _logger.LogError("Error in SendRestartRequiredNotification.", ex); } }, cancellationToken)).ToArray(); @@ -1249,7 +1249,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error in SendServerShutdownNotification.", ex); + _logger.LogError("Error in SendServerShutdownNotification.", ex); } }, cancellationToken)).ToArray(); @@ -1266,7 +1266,7 @@ namespace Emby.Server.Implementations.Session { CheckDisposed(); - _logger.Debug("Beginning SendServerRestartNotification"); + _logger.LogDebug("Beginning SendServerRestartNotification"); var sessions = Sessions.ToList(); @@ -1278,7 +1278,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error in SendServerRestartNotification.", ex); + _logger.LogError("Error in SendServerRestartNotification.", ex); } }, cancellationToken)).ToArray(); @@ -1462,7 +1462,7 @@ namespace Emby.Server.Implementations.Session if (existing != null) { - _logger.Info("Reissuing access token: " + existing.AccessToken); + _logger.LogInformation("Reissuing access token: " + existing.AccessToken); return existing.AccessToken; } @@ -1481,7 +1481,7 @@ namespace Emby.Server.Implementations.Session UserName = user.Name }; - _logger.Info("Creating new access token for user {0}", user.Id); + _logger.LogInformation("Creating new access token for user {0}", user.Id); _authRepo.Create(newToken); return newToken.AccessToken; @@ -1513,7 +1513,7 @@ namespace Emby.Server.Implementations.Session { CheckDisposed(); - _logger.Info("Logging out access token {0}", existing.AccessToken); + _logger.LogInformation("Logging out access token {0}", existing.AccessToken); _authRepo.Delete(existing); @@ -1529,7 +1529,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error reporting session ended", ex); + _logger.LogError("Error reporting session ended", ex); } } } @@ -1599,7 +1599,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error saving device capabilities", ex); + _logger.LogError("Error saving device capabilities", ex); } } } @@ -1692,7 +1692,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error getting {0} image info", ex, type); + _logger.LogError("Error getting {0} image info", ex, type); return null; } } @@ -1818,7 +1818,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error sending message", ex); + _logger.LogError("Error sending message", ex); } }, cancellationToken)).ToArray(); @@ -1840,7 +1840,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error sending message", ex); + _logger.LogError("Error sending message", ex); } }, cancellationToken)).ToArray(); @@ -1862,7 +1862,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error sending message", ex); + _logger.LogError("Error sending message", ex); } }, cancellationToken)).ToArray(); @@ -1886,7 +1886,7 @@ namespace Emby.Server.Implementations.Session } catch (Exception ex) { - _logger.ErrorException("Error sending message", ex); + _logger.LogError("Error sending message", ex); } }, cancellationToken)).ToArray(); diff --git a/Emby.Server.Implementations/Session/SessionWebSocketListener.cs b/Emby.Server.Implementations/Session/SessionWebSocketListener.cs index 9ab4753fb..3bb022b32 100644 --- a/Emby.Server.Implementations/Session/SessionWebSocketListener.cs +++ b/Emby.Server.Implementations/Session/SessionWebSocketListener.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Session; using System; @@ -40,14 +40,14 @@ namespace Emby.Server.Implementations.Session /// Initializes a new instance of the class. /// /// The session manager. - /// The log manager. + /// The logger factory. /// The json. /// The HTTP server. /// The server manager. - public SessionWebSocketListener(ISessionManager sessionManager, ILogManager logManager, IJsonSerializer json, IHttpServer httpServer) + public SessionWebSocketListener(ISessionManager sessionManager, ILoggerFactory loggerFactory, IJsonSerializer json, IHttpServer httpServer) { _sessionManager = sessionManager; - _logger = logManager.GetLogger(GetType().Name); + _logger = loggerFactory.CreateLogger(GetType().Name); _json = json; _httpServer = httpServer; httpServer.WebSocketConnected += _serverManager_WebSocketConnected; @@ -63,7 +63,7 @@ namespace Emby.Server.Implementations.Session } else { - _logger.Warn("Unable to determine session based on url: {0}", e.Argument.Url); + _logger.LogWarning("Unable to determine session based on url: {0}", e.Argument.Url); } } diff --git a/Emby.Server.Implementations/Session/WebSocketController.cs b/Emby.Server.Implementations/Session/WebSocketController.cs index ddac9660f..bdae5cf8f 100644 --- a/Emby.Server.Implementations/Session/WebSocketController.cs +++ b/Emby.Server.Implementations/Session/WebSocketController.cs @@ -1,7 +1,7 @@ using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; using MediaBrowser.Model.Session; using MediaBrowser.Model.System; diff --git a/Emby.Server.Implementations/SystemEvents.cs b/Emby.Server.Implementations/SystemEvents.cs index c1e6dc1da..e52962833 100644 --- a/Emby.Server.Implementations/SystemEvents.cs +++ b/Emby.Server.Implementations/SystemEvents.cs @@ -1,6 +1,6 @@ using System; using MediaBrowser.Common.Events; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; namespace Emby.Server.Implementations diff --git a/Emby.Server.Implementations/TextEncoding/TextEncoding.cs b/Emby.Server.Implementations/TextEncoding/TextEncoding.cs index ea87a9539..f30c181a0 100644 --- a/Emby.Server.Implementations/TextEncoding/TextEncoding.cs +++ b/Emby.Server.Implementations/TextEncoding/TextEncoding.cs @@ -1,7 +1,7 @@ using System; using System.Text; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Text; using NLangDetect.Core; @@ -102,7 +102,7 @@ namespace Emby.Server.Implementations.TextEncoding if (!string.IsNullOrWhiteSpace(language)) { - _logger.Debug("Text language detected as {0}", language); + _logger.LogDebug("Text language detected as {0}", language); } } @@ -165,7 +165,7 @@ namespace Emby.Server.Implementations.TextEncoding throw new ArgumentNullException("charset"); } - _logger.Debug("Getting encoding object for character set: {0}", charset); + _logger.LogDebug("Getting encoding object for character set: {0}", charset); try { @@ -174,7 +174,7 @@ namespace Emby.Server.Implementations.TextEncoding catch (ArgumentException) { charset = charset.Replace("-", string.Empty); - _logger.Debug("Getting encoding object for character set: {0}", charset); + _logger.LogDebug("Getting encoding object for character set: {0}", charset); return Encoding.GetEncoding(charset); } diff --git a/Emby.Server.Implementations/Udp/UdpServer.cs b/Emby.Server.Implementations/Udp/UdpServer.cs index f195ca710..222ec7dd0 100644 --- a/Emby.Server.Implementations/Udp/UdpServer.cs +++ b/Emby.Server.Implementations/Udp/UdpServer.cs @@ -1,6 +1,6 @@ using MediaBrowser.Controller; using MediaBrowser.Model.ApiClient; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; @@ -79,7 +79,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.ErrorException("Error in OnMessageReceived", ex); + _logger.LogError("Error in OnMessageReceived", ex); } } } @@ -127,7 +127,7 @@ namespace Emby.Server.Implementations.Udp } else { - _logger.Warn("Unable to respond to udp request because the local ip address could not be determined."); + _logger.LogWarning("Unable to respond to udp request because the local ip address could not be determined."); } } @@ -171,7 +171,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.ErrorException("Error receiving udp message", ex); + _logger.LogError("Error receiving udp message", ex); } } @@ -193,7 +193,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.ErrorException("Error receiving udp message", ex); + _logger.LogError("Error receiving udp message", ex); } BeginReceive(); @@ -224,7 +224,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.ErrorException("Error handling UDP message", ex); + _logger.LogError("Error handling UDP message", ex); } } @@ -274,7 +274,7 @@ namespace Emby.Server.Implementations.Udp { await _udpClient.SendToAsync(bytes, 0, bytes.Length, remoteEndPoint, cancellationToken).ConfigureAwait(false); - _logger.Info("Udp message sent to {0}", remoteEndPoint); + _logger.LogInformation("Udp message sent to {0}", remoteEndPoint); } catch (OperationCanceledException) { @@ -282,7 +282,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.ErrorException("Error sending message to {0}", ex, remoteEndPoint); + _logger.LogError("Error sending message to {0}", ex, remoteEndPoint); } } } diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs index a23166647..f864b079a 100644 --- a/Emby.Server.Implementations/Updates/InstallationManager.cs +++ b/Emby.Server.Implementations/Updates/InstallationManager.cs @@ -16,7 +16,7 @@ using MediaBrowser.Common.Updates; using MediaBrowser.Model.Cryptography; using MediaBrowser.Model.Events; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Updates; using MediaBrowser.Controller.Configuration; @@ -76,7 +76,7 @@ namespace Emby.Server.Implementations.Updates /// The new version. private void OnPluginUpdated(IPlugin plugin, PackageVersionInfo newVersion) { - _logger.Info("Plugin updated: {0} {1} {2}", newVersion.name, newVersion.versionStr ?? string.Empty, newVersion.classification); + _logger.LogInformation("Plugin updated: {0} {1} {2}", newVersion.name, newVersion.versionStr ?? string.Empty, newVersion.classification); EventHelper.FireEventIfNotNull(PluginUpdated, this, new GenericEventArgs> { Argument = new Tuple(plugin, newVersion) }, _logger); @@ -95,7 +95,7 @@ namespace Emby.Server.Implementations.Updates /// The package. private void OnPluginInstalled(PackageVersionInfo package) { - _logger.Info("New plugin installed: {0} {1} {2}", package.name, package.versionStr ?? string.Empty, package.classification); + _logger.LogInformation("New plugin installed: {0} {1} {2}", package.name, package.versionStr ?? string.Empty, package.classification); EventHelper.FireEventIfNotNull(PluginInstalled, this, new GenericEventArgs { Argument = package }, _logger); @@ -491,7 +491,7 @@ namespace Emby.Server.Implementations.Updates CurrentInstallations.Remove(tuple); } - _logger.Info("Package installation cancelled: {0} {1}", package.name, package.versionStr); + _logger.LogInformation("Package installation cancelled: {0} {1}", package.name, package.versionStr); EventHelper.FireEventIfNotNull(PackageInstallationCancelled, this, installationEventArgs, _logger); @@ -499,7 +499,7 @@ namespace Emby.Server.Implementations.Updates } catch (Exception ex) { - _logger.ErrorException("Package installation failed", ex); + _logger.LogError("Package installation failed", ex); lock (CurrentInstallations) { @@ -612,7 +612,7 @@ namespace Emby.Server.Implementations.Updates } catch (IOException e) { - _logger.ErrorException("Error attempting to move file from {0} to {1}", e, tempFile, target); + _logger.LogError("Error attempting to move file from {0} to {1}", e, tempFile, target); throw; } @@ -623,7 +623,7 @@ namespace Emby.Server.Implementations.Updates catch (IOException e) { // Don't fail because of this - _logger.ErrorException("Error deleting temp file {0]", e, tempFile); + _logger.LogError("Error deleting temp file {0]", e, tempFile); } } @@ -640,7 +640,7 @@ namespace Emby.Server.Implementations.Updates _applicationHost.RemovePlugin(plugin); var path = plugin.AssemblyFilePath; - _logger.Info("Deleting plugin file {0}", path); + _logger.LogInformation("Deleting plugin file {0}", path); // Make this case-insensitive to account for possible incorrect assembly naming var file = _fileSystem.GetFilePaths(_fileSystem.GetDirectoryName(path)) -- cgit v1.2.3 From 3d3ec3588b523bd6f47795886ef9bdaebc850f95 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 13 Dec 2018 18:40:51 +0100 Subject: Mark where ILogger is being set to null --- Emby.Dlna/Didl/DidlBuilder.cs | 6 +++--- Emby.Dlna/PlayTo/PlayToController.cs | 2 +- Emby.Server.Implementations/Emby.Server.Implementations.csproj | 4 ++-- Emby.Server.Implementations/Services/ServiceHandler.cs | 2 +- MediaBrowser.Controller/Providers/DirectoryService.cs | 2 +- MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs | 2 +- SocketHttpListener/Net/HttpListener.cs | 1 + 7 files changed, 10 insertions(+), 9 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index 22845586f..7ed249f4d 100644 --- a/Emby.Dlna/Didl/DidlBuilder.cs +++ b/Emby.Dlna/Didl/DidlBuilder.cs @@ -180,7 +180,7 @@ namespace Emby.Dlna.Didl return _logger; } - return null; + return null; // TODO: @bond NullLogger } private string GetMimeType(string input) @@ -925,7 +925,7 @@ namespace Emby.Dlna.Didl } catch (XmlException) { - _logger?.LogError("Error adding xml value: {value}", name); + _logger.LogError("Error adding xml value: {value}", name); } } @@ -937,7 +937,7 @@ namespace Emby.Dlna.Didl } catch (XmlException) { - _logger?.LogError("Error adding xml value: {value}", value); + _logger.LogError("Error adding xml value: {value}", value); } } diff --git a/Emby.Dlna/PlayTo/PlayToController.cs b/Emby.Dlna/PlayTo/PlayToController.cs index 272f2e127..600c8ae50 100644 --- a/Emby.Dlna/PlayTo/PlayToController.cs +++ b/Emby.Dlna/PlayTo/PlayToController.cs @@ -539,7 +539,7 @@ namespace Emby.Dlna.PlayTo return _logger; } - return null; + return null; // TODO: @bond NullLogger } private PlaylistItem GetPlaylistItem(BaseItem item, List mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex) diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index bf459defb..241505019 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -38,7 +38,7 @@ false - + @@ -46,6 +46,6 @@ - + diff --git a/Emby.Server.Implementations/Services/ServiceHandler.cs b/Emby.Server.Implementations/Services/ServiceHandler.cs index 50965b4a9..0f9be1e64 100644 --- a/Emby.Server.Implementations/Services/ServiceHandler.cs +++ b/Emby.Server.Implementations/Services/ServiceHandler.cs @@ -63,7 +63,7 @@ namespace Emby.Server.Implementations.Services if (this.RestPath == null) { string contentType; - // TODO: change null out + // TODO: @bond NullLogger this.RestPath = FindMatchingRestPath(httpMethod, pathInfo, null, out contentType); if (contentType != null) diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index 2d97e0b88..95f1e1c6c 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -27,7 +27,7 @@ namespace MediaBrowser.Controller.Providers } public DirectoryService(IFileSystem fileSystem) - : this(null, fileSystem) // TODO change + : this(null, fileSystem) // TODO: @bond NullLogger { } diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs index 6e217ab4a..b8d4a92c1 100644 --- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs +++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs @@ -25,7 +25,7 @@ namespace MediaBrowser.Controller.Providers public bool EnableRemoteContentProbe { get; set; } public MetadataRefreshOptions(IFileSystem fileSystem) - : this(new DirectoryService(null, fileSystem)) // TODO + : this(new DirectoryService(null, fileSystem)) // TODO: @bond NullLogger { } diff --git a/SocketHttpListener/Net/HttpListener.cs b/SocketHttpListener/Net/HttpListener.cs index fffecae63..3b21387e0 100644 --- a/SocketHttpListener/Net/HttpListener.cs +++ b/SocketHttpListener/Net/HttpListener.cs @@ -58,6 +58,7 @@ namespace SocketHttpListener.Net auth_schemes = AuthenticationSchemes.Anonymous; } + // TODO: @bond NullLogger public HttpListener(X509Certificate certificate, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, INetworkManager networkManager, ITextEncoding textEncoding, IStreamHelper streamHelper, IFileSystem fileSystem, IEnvironmentInfo environmentInfo) :this(null, certificate, cryptoProvider, socketFactory, networkManager, textEncoding, streamHelper, fileSystem, environmentInfo) { -- cgit v1.2.3 From b7ebb67cbbad8c670215a3c24401a1047bbaea5e Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Fri, 14 Dec 2018 20:17:29 +0100 Subject: Remove the need for NullLogger --- Emby.Dlna/Didl/DidlBuilder.cs | 14 ++------------ Emby.Dlna/PlayTo/PlayToController.cs | 14 ++------------ Emby.Server.Implementations/Channels/ChannelManager.cs | 5 ++--- .../Collections/CollectionManager.cs | 10 +++++----- .../EntryPoints/RefreshUsersMetadata.cs | 8 ++++++-- Emby.Server.Implementations/HttpServer/HttpListenerHost.cs | 2 +- Emby.Server.Implementations/Library/LibraryManager.cs | 14 +++++++------- Emby.Server.Implementations/Library/MediaSourceManager.cs | 3 ++- Emby.Server.Implementations/Library/UserManager.cs | 2 +- .../Library/Validators/PeopleValidator.cs | 2 +- Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs | 2 +- Emby.Server.Implementations/LiveTv/LiveTvManager.cs | 2 +- Emby.Server.Implementations/Playlists/PlaylistManager.cs | 6 +++--- .../ScheduledTasks/ChapterImagesTask.cs | 2 +- Emby.Server.Implementations/Services/ServiceController.cs | 6 +++--- Emby.Server.Implementations/Services/ServiceHandler.cs | 7 +++---- Emby.Server.Implementations/Services/ServicePath.cs | 14 ++++---------- MediaBrowser.Api/ItemLookupService.cs | 2 +- MediaBrowser.Api/ItemUpdateService.cs | 2 +- MediaBrowser.Api/Subtitles/SubtitleService.cs | 2 +- MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 2 +- MediaBrowser.Controller/Entities/BaseItem.cs | 2 +- MediaBrowser.Controller/Providers/DirectoryService.cs | 5 ----- .../Providers/MetadataRefreshOptions.cs | 5 ----- MediaBrowser.Providers/Manager/ProviderManager.cs | 12 ++++++++++-- MediaBrowser.Providers/TV/DummySeasonProvider.cs | 2 +- MediaBrowser.Providers/TV/MissingEpisodeProvider.cs | 2 +- SocketHttpListener/Net/HttpListener.cs | 6 ------ 28 files changed, 62 insertions(+), 93 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index 7ed249f4d..2cde379ea 100644 --- a/Emby.Dlna/Didl/DidlBuilder.cs +++ b/Emby.Dlna/Didl/DidlBuilder.cs @@ -173,16 +173,6 @@ namespace Emby.Dlna.Didl writer.WriteFullEndElement(); } - private ILogger GetStreamBuilderLogger(DlnaOptions options) - { - if (options.EnableDebugLog) - { - return _logger; - } - - return null; // TODO: @bond NullLogger - } - private string GetMimeType(string input) { var mime = MimeTypes.GetMimeType(input); @@ -202,7 +192,7 @@ namespace Emby.Dlna.Didl { var sources = _mediaSourceManager.GetStaticMediaSources(video, true, _user); - streamInfo = new StreamBuilder(_mediaEncoder, GetStreamBuilderLogger(options)).BuildVideoItem(new VideoOptions + streamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildVideoItem(new VideoOptions { ItemId = video.Id, MediaSources = sources.ToArray(), @@ -509,7 +499,7 @@ namespace Emby.Dlna.Didl { var sources = _mediaSourceManager.GetStaticMediaSources(audio, true, _user); - streamInfo = new StreamBuilder(_mediaEncoder, GetStreamBuilderLogger(options)).BuildAudioItem(new AudioOptions + streamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildAudioItem(new AudioOptions { ItemId = audio.Id, MediaSources = sources.ToArray(), diff --git a/Emby.Dlna/PlayTo/PlayToController.cs b/Emby.Dlna/PlayTo/PlayToController.cs index 600c8ae50..e722f83d8 100644 --- a/Emby.Dlna/PlayTo/PlayToController.cs +++ b/Emby.Dlna/PlayTo/PlayToController.cs @@ -532,23 +532,13 @@ namespace Emby.Dlna.PlayTo return null; } - private ILogger GetStreamBuilderLogger() - { - if (_config.GetDlnaConfiguration().EnableDebugLog) - { - return _logger; - } - - return null; // TODO: @bond NullLogger - } - private PlaylistItem GetPlaylistItem(BaseItem item, List mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex) { if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase)) { return new PlaylistItem { - StreamInfo = new StreamBuilder(_mediaEncoder, GetStreamBuilderLogger()).BuildVideoItem(new VideoOptions + StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildVideoItem(new VideoOptions { ItemId = item.Id, MediaSources = mediaSources.ToArray(), @@ -568,7 +558,7 @@ namespace Emby.Dlna.PlayTo { return new PlaylistItem { - StreamInfo = new StreamBuilder(_mediaEncoder, GetStreamBuilderLogger()).BuildAudioItem(new AudioOptions + StreamInfo = new StreamBuilder(_mediaEncoder, _logger).BuildAudioItem(new AudioOptions { ItemId = item.Id, MediaSources = mediaSources.ToArray(), diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs index aa04c98f0..88dfbd7c1 100644 --- a/Emby.Server.Implementations/Channels/ChannelManager.cs +++ b/Emby.Server.Implementations/Channels/ChannelManager.cs @@ -484,10 +484,9 @@ namespace Emby.Server.Implementations.Channels _libraryManager.CreateItem(item, null); } - await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem) + await item.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = !isNew && forceUpdate - }, cancellationToken); return item; @@ -1178,7 +1177,7 @@ namespace Emby.Server.Implementations.Channels if (isNew || forceUpdate || item.DateLastRefreshed == default(DateTime)) { - _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.Normal); + _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), RefreshPriority.Normal); } return item; diff --git a/Emby.Server.Implementations/Collections/CollectionManager.cs b/Emby.Server.Implementations/Collections/CollectionManager.cs index 155d7ed4a..af7c70d7d 100644 --- a/Emby.Server.Implementations/Collections/CollectionManager.cs +++ b/Emby.Server.Implementations/Collections/CollectionManager.cs @@ -143,7 +143,7 @@ namespace Emby.Server.Implementations.Collections if (options.ItemIdList.Length > 0) { - AddToCollection(collection.Id, options.ItemIdList, false, new MetadataRefreshOptions(_fileSystem) + AddToCollection(collection.Id, options.ItemIdList, false, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { // The initial adding of items is going to create a local metadata file // This will cause internet metadata to be skipped as a result @@ -152,7 +152,7 @@ namespace Emby.Server.Implementations.Collections } else { - _providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.High); + _providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), RefreshPriority.High); } EventHelper.FireEventIfNotNull(CollectionCreated, this, new CollectionCreatedEventArgs @@ -173,12 +173,12 @@ namespace Emby.Server.Implementations.Collections public void AddToCollection(Guid collectionId, IEnumerable ids) { - AddToCollection(collectionId, ids, true, new MetadataRefreshOptions(_fileSystem)); + AddToCollection(collectionId, ids, true, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem))); } public void AddToCollection(Guid collectionId, IEnumerable ids) { - AddToCollection(collectionId, ids.Select(i => i.ToString("N")), true, new MetadataRefreshOptions(_fileSystem)); + AddToCollection(collectionId, ids.Select(i => i.ToString("N")), true, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem))); } private void AddToCollection(Guid collectionId, IEnumerable ids, bool fireEvent, MetadataRefreshOptions refreshOptions) @@ -283,7 +283,7 @@ namespace Emby.Server.Implementations.Collections } collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None); - _providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(_fileSystem) + _providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = true }, RefreshPriority.High); diff --git a/Emby.Server.Implementations/EntryPoints/RefreshUsersMetadata.cs b/Emby.Server.Implementations/EntryPoints/RefreshUsersMetadata.cs index 4c16b1d39..660ca3a94 100644 --- a/Emby.Server.Implementations/EntryPoints/RefreshUsersMetadata.cs +++ b/Emby.Server.Implementations/EntryPoints/RefreshUsersMetadata.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading.Tasks; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.IO; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.EntryPoints { @@ -15,10 +16,12 @@ namespace Emby.Server.Implementations.EntryPoints /// public class RefreshUsersMetadata : IScheduledTask, IConfigurableScheduledTask { + private readonly ILogger _logger; /// /// The _user manager /// private readonly IUserManager _userManager; + private IFileSystem _fileSystem; public string Name => "Refresh Users"; @@ -41,8 +44,9 @@ namespace Emby.Server.Implementations.EntryPoints /// /// Initializes a new instance of the class. /// - public RefreshUsersMetadata(IUserManager userManager, IFileSystem fileSystem) + public RefreshUsersMetadata(ILogger logger, IUserManager userManager, IFileSystem fileSystem) { + _logger = logger; _userManager = userManager; _fileSystem = fileSystem; } @@ -55,7 +59,7 @@ namespace Emby.Server.Implementations.EntryPoints { cancellationToken.ThrowIfCancellationRequested(); - await user.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false); + await user.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), cancellationToken).ConfigureAwait(false); } } diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 2a353584c..1d87d0e44 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -718,7 +718,7 @@ namespace Emby.Server.Implementations.HttpServer } string contentType; - var restPath = ServiceHandler.FindMatchingRestPath(httpReq.HttpMethod, pathInfo, _logger, out contentType); + var restPath = ServiceHandler.FindMatchingRestPath(httpReq.HttpMethod, pathInfo, out contentType); if (restPath != null) { diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 52fb8938a..e1a725c93 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -1065,11 +1065,11 @@ namespace Emby.Server.Implementations.Library await RootFolder.RefreshMetadata(cancellationToken).ConfigureAwait(false); // Start by just validating the children of the root, but go no further - await RootFolder.ValidateChildren(new SimpleProgress(), cancellationToken, new MetadataRefreshOptions(_fileSystem), recursive: false); + await RootFolder.ValidateChildren(new SimpleProgress(), cancellationToken, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), recursive: false); await GetUserRootFolder().RefreshMetadata(cancellationToken).ConfigureAwait(false); - await GetUserRootFolder().ValidateChildren(new SimpleProgress(), cancellationToken, new MetadataRefreshOptions(_fileSystem), recursive: false).ConfigureAwait(false); + await GetUserRootFolder().ValidateChildren(new SimpleProgress(), cancellationToken, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), recursive: false).ConfigureAwait(false); // Quickly scan CollectionFolders for changes foreach (var folder in GetUserRootFolder().Children.OfType().ToList()) @@ -1089,7 +1089,7 @@ namespace Emby.Server.Implementations.Library innerProgress.RegisterAction(pct => progress.Report(pct * .96)); // Now validate the entire media library - await RootFolder.ValidateChildren(innerProgress, cancellationToken, new MetadataRefreshOptions(_fileSystem), recursive: true).ConfigureAwait(false); + await RootFolder.ValidateChildren(innerProgress, cancellationToken, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), recursive: true).ConfigureAwait(false); progress.Report(96); @@ -2176,7 +2176,7 @@ namespace Emby.Server.Implementations.Library if (refresh) { item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None); - _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.Normal); + _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), RefreshPriority.Normal); } return item; @@ -2231,7 +2231,7 @@ namespace Emby.Server.Implementations.Library if (refresh) { - _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem) + _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { // Need to force save to increment DateLastSaved ForceSave = true @@ -2295,7 +2295,7 @@ namespace Emby.Server.Implementations.Library if (refresh) { - _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem) + _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { // Need to force save to increment DateLastSaved ForceSave = true @@ -2369,7 +2369,7 @@ namespace Emby.Server.Implementations.Library if (refresh) { - _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem) + _providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { // Need to force save to increment DateLastSaved ForceSave = true diff --git a/Emby.Server.Implementations/Library/MediaSourceManager.cs b/Emby.Server.Implementations/Library/MediaSourceManager.cs index 2f8a1aa5e..15673d25d 100644 --- a/Emby.Server.Implementations/Library/MediaSourceManager.cs +++ b/Emby.Server.Implementations/Library/MediaSourceManager.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Persistence; +using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using Microsoft.Extensions.Logging; @@ -127,7 +128,7 @@ namespace Emby.Server.Implementations.Library if (allowMediaProbe && mediaSources[0].Type != MediaSourceType.Placeholder && !mediaSources[0].MediaStreams.Any(i => i.Type == MediaStreamType.Audio || i.Type == MediaStreamType.Video)) { - await item.RefreshMetadata(new MediaBrowser.Controller.Providers.MetadataRefreshOptions(_fileSystem) + await item.RefreshMetadata(new MediaBrowser.Controller.Providers.MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { EnableRemoteContentProbe = true, MetadataRefreshMode = MediaBrowser.Controller.Providers.MetadataRefreshMode.FullRefresh diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs index 2e675ee7e..35b0ca304 100644 --- a/Emby.Server.Implementations/Library/UserManager.cs +++ b/Emby.Server.Implementations/Library/UserManager.cs @@ -613,7 +613,7 @@ namespace Emby.Server.Implementations.Library { foreach (var user in Users) { - await user.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false); + await user.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), cancellationToken).ConfigureAwait(false); } } diff --git a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs index a4949099a..80e396583 100644 --- a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -64,7 +64,7 @@ namespace Emby.Server.Implementations.Library.Validators { var item = _libraryManager.GetPerson(person); - var options = new MetadataRefreshOptions(_fileSystem) + var options = new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ImageRefreshMode = MetadataRefreshMode.ValidationOnly, MetadataRefreshMode = MetadataRefreshMode.ValidationOnly diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index 11cb57ff7..b9b8802a8 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -1526,7 +1526,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { _logger.LogInformation("Refreshing recording parent {0}", item.Path); - _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem) + _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { RefreshPaths = new string[] { diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 5c0f76ba1..d74636e8d 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1292,7 +1292,7 @@ namespace Emby.Server.Implementations.LiveTv } //currentChannel.UpdateToRepository(ItemUpdateType.MetadataImport, cancellationToken); - await currentChannel.RefreshMetadata(new MetadataRefreshOptions(_fileSystem) + await currentChannel.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = true diff --git a/Emby.Server.Implementations/Playlists/PlaylistManager.cs b/Emby.Server.Implementations/Playlists/PlaylistManager.cs index f5a429552..470711b9e 100644 --- a/Emby.Server.Implementations/Playlists/PlaylistManager.cs +++ b/Emby.Server.Implementations/Playlists/PlaylistManager.cs @@ -136,7 +136,7 @@ namespace Emby.Server.Implementations.Playlists parentFolder.AddChild(playlist, CancellationToken.None); - await playlist.RefreshMetadata(new MetadataRefreshOptions(_fileSystem) { ForceSave = true }, CancellationToken.None) + await playlist.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = true }, CancellationToken.None) .ConfigureAwait(false); if (options.ItemIdList.Length > 0) @@ -217,7 +217,7 @@ namespace Emby.Server.Implementations.Playlists SavePlaylistFile(playlist); } - _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(_fileSystem) + _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = true @@ -250,7 +250,7 @@ namespace Emby.Server.Implementations.Playlists SavePlaylistFile(playlist); } - _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(_fileSystem) + _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { ForceSave = true diff --git a/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs b/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs index f259b4d93..09dcc320a 100644 --- a/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/ChapterImagesTask.cs @@ -121,7 +121,7 @@ namespace Emby.Server.Implementations.ScheduledTasks previouslyFailedImages = new List(); } - var directoryService = new DirectoryService(_fileSystem); + var directoryService = new DirectoryService(_logger, _fileSystem); foreach (var video in videos) { diff --git a/Emby.Server.Implementations/Services/ServiceController.cs b/Emby.Server.Implementations/Services/ServiceController.cs index 84ca2d9d1..46af83128 100644 --- a/Emby.Server.Implementations/Services/ServiceController.cs +++ b/Emby.Server.Implementations/Services/ServiceController.cs @@ -99,7 +99,7 @@ namespace Emby.Server.Implementations.Services pathsAtFirstMatch.Add(restPath); } - public RestPath GetRestPathForRequest(string httpMethod, string pathInfo, ILogger logger) + public RestPath GetRestPathForRequest(string httpMethod, string pathInfo) { var matchUsingPathParts = RestPath.GetPathPartsForMatching(pathInfo); @@ -117,7 +117,7 @@ namespace Emby.Server.Implementations.Services RestPath bestMatch = null; foreach (var restPath in firstMatches) { - var score = restPath.MatchScore(httpMethod, matchUsingPathParts, logger); + var score = restPath.MatchScore(httpMethod, matchUsingPathParts); if (score > bestScore) { bestScore = score; @@ -140,7 +140,7 @@ namespace Emby.Server.Implementations.Services RestPath bestMatch = null; foreach (var restPath in firstMatches) { - var score = restPath.MatchScore(httpMethod, matchUsingPathParts, logger); + var score = restPath.MatchScore(httpMethod, matchUsingPathParts); if (score > bestScore) { bestScore = score; diff --git a/Emby.Server.Implementations/Services/ServiceHandler.cs b/Emby.Server.Implementations/Services/ServiceHandler.cs index 0f9be1e64..f5fcb5fe6 100644 --- a/Emby.Server.Implementations/Services/ServiceHandler.cs +++ b/Emby.Server.Implementations/Services/ServiceHandler.cs @@ -24,11 +24,11 @@ namespace Emby.Server.Implementations.Services return Task.FromResult(host.CreateInstance(requestType)); } - public static RestPath FindMatchingRestPath(string httpMethod, string pathInfo, ILogger logger, out string contentType) + public static RestPath FindMatchingRestPath(string httpMethod, string pathInfo, out string contentType) { pathInfo = GetSanitizedPathInfo(pathInfo, out contentType); - return ServiceController.Instance.GetRestPathForRequest(httpMethod, pathInfo, logger); + return ServiceController.Instance.GetRestPathForRequest(httpMethod, pathInfo); } public static string GetSanitizedPathInfo(string pathInfo, out string contentType) @@ -63,8 +63,7 @@ namespace Emby.Server.Implementations.Services if (this.RestPath == null) { string contentType; - // TODO: @bond NullLogger - this.RestPath = FindMatchingRestPath(httpMethod, pathInfo, null, out contentType); + this.RestPath = FindMatchingRestPath(httpMethod, pathInfo, out contentType); if (contentType != null) ResponseContentType = contentType; diff --git a/Emby.Server.Implementations/Services/ServicePath.cs b/Emby.Server.Implementations/Services/ServicePath.cs index ef64d20b4..ac2af3eaf 100644 --- a/Emby.Server.Implementations/Services/ServicePath.cs +++ b/Emby.Server.Implementations/Services/ServicePath.cs @@ -309,10 +309,10 @@ namespace Emby.Server.Implementations.Services private readonly Dictionary propertyNamesMap = new Dictionary(); - public int MatchScore(string httpMethod, string[] withPathInfoParts, ILogger logger) + public int MatchScore(string httpMethod, string[] withPathInfoParts) { int wildcardMatchCount; - var isMatch = IsMatch(httpMethod, withPathInfoParts, logger, out wildcardMatchCount); + var isMatch = IsMatch(httpMethod, withPathInfoParts, out wildcardMatchCount); if (!isMatch) { return -1; @@ -348,31 +348,27 @@ namespace Emby.Server.Implementations.Services /// For performance withPathInfoParts should already be a lower case string /// to minimize redundant matching operations. /// - public bool IsMatch(string httpMethod, string[] withPathInfoParts, ILogger logger, out int wildcardMatchCount) + public bool IsMatch(string httpMethod, string[] withPathInfoParts, out int wildcardMatchCount) { wildcardMatchCount = 0; if (withPathInfoParts.Length != this.PathComponentsCount && !this.IsWildCardPath) { - //logger.LogInformation("withPathInfoParts mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); - return false; + return false; } if (!Verbs.Contains(httpMethod, StringComparer.OrdinalIgnoreCase)) { - //logger.LogInformation("allowsAllVerbs mismatch for {0} for {1} allowedverbs {2}", httpMethod, string.Join("/", withPathInfoParts), this.allowedVerbs); return false; } if (!ExplodeComponents(ref withPathInfoParts)) { - //logger.LogInformation("ExplodeComponents mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } if (this.TotalComponentsCount != withPathInfoParts.Length && !this.IsWildCardPath) { - //logger.LogInformation("TotalComponentsCount mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } @@ -393,7 +389,6 @@ namespace Emby.Server.Implementations.Services // Ensure there are still enough parts left to match the remainder if ((withPathInfoParts.Length - pathIx) < (this.TotalComponentsCount - i - 1)) { - //logger.LogInformation("withPathInfoParts length mismatch for {0} for {1}", httpMethod, string.Join("/", withPathInfoParts)); return false; } } @@ -416,7 +411,6 @@ namespace Emby.Server.Implementations.Services if (withPathInfoParts.Length <= pathIx || !LiteralsEqual(withPathInfoParts[pathIx], literalToMatch)) { - //logger.LogInformation("withPathInfoParts2 length mismatch for {0} for {1}. not equals: {2} != {3}.", httpMethod, string.Join("/", withPathInfoParts), withPathInfoParts[pathIx], literalToMatch); return false; } pathIx++; diff --git a/MediaBrowser.Api/ItemLookupService.cs b/MediaBrowser.Api/ItemLookupService.cs index d7182c1b6..331fb711d 100644 --- a/MediaBrowser.Api/ItemLookupService.cs +++ b/MediaBrowser.Api/ItemLookupService.cs @@ -240,7 +240,7 @@ namespace MediaBrowser.Api //item.ProductionYear = request.ProductionYear; //item.Name = request.Name; - return _providerManager.RefreshFullItem(item, new MetadataRefreshOptions(_fileSystem) + return _providerManager.RefreshFullItem(item, new MetadataRefreshOptions(new DirectoryService(Logger, _fileSystem)) { MetadataRefreshMode = MetadataRefreshMode.FullRefresh, ImageRefreshMode = MetadataRefreshMode.FullRefresh, diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs index 22eb7ea09..d89750eae 100644 --- a/MediaBrowser.Api/ItemUpdateService.cs +++ b/MediaBrowser.Api/ItemUpdateService.cs @@ -230,7 +230,7 @@ namespace MediaBrowser.Api if (displayOrderChanged) { - _providerManager.QueueRefresh(series.Id, new MetadataRefreshOptions(_fileSystem) + _providerManager.QueueRefresh(series.Id, new MetadataRefreshOptions(new DirectoryService(Logger, _fileSystem)) { MetadataRefreshMode = MetadataRefreshMode.FullRefresh, ImageRefreshMode = MetadataRefreshMode.FullRefresh, diff --git a/MediaBrowser.Api/Subtitles/SubtitleService.cs b/MediaBrowser.Api/Subtitles/SubtitleService.cs index 3ea1d1bed..9a149dc92 100644 --- a/MediaBrowser.Api/Subtitles/SubtitleService.cs +++ b/MediaBrowser.Api/Subtitles/SubtitleService.cs @@ -274,7 +274,7 @@ namespace MediaBrowser.Api.Subtitles await _subtitleManager.DownloadSubtitles(video, request.SubtitleId, CancellationToken.None) .ConfigureAwait(false); - _providerManager.QueueRefresh(video.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.High); + _providerManager.QueueRefresh(video.Id, new MetadataRefreshOptions(new DirectoryService(Logger, _fileSystem)), RefreshPriority.High); } catch (Exception ex) { diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index 30df0ad23..d188d7f7e 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -404,7 +404,7 @@ namespace MediaBrowser.Api.UserLibrary if (!hasMetdata) { - var options = new MetadataRefreshOptions(_fileSystem) + var options = new MetadataRefreshOptions(new DirectoryService(Logger, _fileSystem)) { MetadataRefreshMode = MetadataRefreshMode.FullRefresh, ImageRefreshMode = MetadataRefreshMode.FullRefresh, diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 9c0521753..9ba80da69 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -2213,7 +2213,7 @@ namespace MediaBrowser.Controller.Entities /// Task. public virtual void ChangedExternally() { - ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(FileSystem) + ProviderManager.QueueRefresh(Id, new MetadataRefreshOptions(new DirectoryService(Logger, FileSystem)) { }, RefreshPriority.High); diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index 95f1e1c6c..27d65a3e2 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -26,11 +26,6 @@ namespace MediaBrowser.Controller.Providers _fileSystem = fileSystem; } - public DirectoryService(IFileSystem fileSystem) - : this(null, fileSystem) // TODO: @bond NullLogger - { - } - public FileSystemMetadata[] GetFileSystemEntries(string path) { FileSystemMetadata[] entries; diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs index b8d4a92c1..2494be83a 100644 --- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs +++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs @@ -24,11 +24,6 @@ namespace MediaBrowser.Controller.Providers public bool ForceSave { get; set; } public bool EnableRemoteContentProbe { get; set; } - public MetadataRefreshOptions(IFileSystem fileSystem) - : this(new DirectoryService(null, fileSystem)) // TODO: @bond NullLogger - { - } - public MetadataRefreshOptions(IDirectoryService directoryService) : base(directoryService) { diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index d56267641..e3b23ce33 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -329,7 +329,11 @@ namespace MediaBrowser.Providers.Manager var options = GetMetadataOptions(item); var libraryOptions = _libraryManagerFactory().GetLibraryOptions(item); - return GetImageProviders(item, libraryOptions, options, new ImageRefreshOptions(new DirectoryService(_logger, _fileSystem)), includeDisabled).OfType(); + return GetImageProviders(item, libraryOptions, options, + new ImageRefreshOptions( + new DirectoryService(_logger, _fileSystem)), + includeDisabled) + .OfType(); } private bool CanRefresh(IMetadataProvider provider, BaseItem item, LibraryOptions libraryOptions, MetadataOptions options, bool includeDisabled, bool forceEnableInternetMetadata) @@ -506,7 +510,11 @@ namespace MediaBrowser.Providers.Manager var libraryOptions = new LibraryOptions(); - var imageProviders = GetImageProviders(dummy, libraryOptions, options, new ImageRefreshOptions(new DirectoryService(_logger, _fileSystem)), true).ToList(); + var imageProviders = GetImageProviders(dummy, libraryOptions, options, + new ImageRefreshOptions( + new DirectoryService(_logger, _fileSystem)), + true) + .ToList(); var pluginList = summary.Plugins.ToList(); diff --git a/MediaBrowser.Providers/TV/DummySeasonProvider.cs b/MediaBrowser.Providers/TV/DummySeasonProvider.cs index 3cf62e94e..797005c41 100644 --- a/MediaBrowser.Providers/TV/DummySeasonProvider.cs +++ b/MediaBrowser.Providers/TV/DummySeasonProvider.cs @@ -147,7 +147,7 @@ namespace MediaBrowser.Providers.TV series.AddChild(season, cancellationToken); - await season.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false); + await season.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), cancellationToken).ConfigureAwait(false); return season; } diff --git a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs index a8c1a68a6..19f3c07d2 100644 --- a/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/MissingEpisodeProvider.cs @@ -414,7 +414,7 @@ namespace MediaBrowser.Providers.TV season.AddChild(episode, cancellationToken); - await episode.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false); + await episode.RefreshMetadata(new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)), cancellationToken).ConfigureAwait(false); } /// diff --git a/SocketHttpListener/Net/HttpListener.cs b/SocketHttpListener/Net/HttpListener.cs index 3b21387e0..941b99f35 100644 --- a/SocketHttpListener/Net/HttpListener.cs +++ b/SocketHttpListener/Net/HttpListener.cs @@ -58,12 +58,6 @@ namespace SocketHttpListener.Net auth_schemes = AuthenticationSchemes.Anonymous; } - // TODO: @bond NullLogger - public HttpListener(X509Certificate certificate, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, INetworkManager networkManager, ITextEncoding textEncoding, IStreamHelper streamHelper, IFileSystem fileSystem, IEnvironmentInfo environmentInfo) - :this(null, certificate, cryptoProvider, socketFactory, networkManager, textEncoding, streamHelper, fileSystem, environmentInfo) - { - } - public HttpListener(ILogger logger, X509Certificate certificate, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, INetworkManager networkManager, ITextEncoding textEncoding, IStreamHelper streamHelper, IFileSystem fileSystem, IEnvironmentInfo environmentInfo) : this(logger, cryptoProvider, socketFactory, networkManager, textEncoding, streamHelper, fileSystem, environmentInfo) { -- cgit v1.2.3 From 88f5471fe35657f410ddb8a58c84505301bda121 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Fri, 14 Dec 2018 20:44:24 +0100 Subject: Pls stop crashing --- Emby.Server.Implementations/ApplicationHost.cs | 2 +- MediaBrowser.Server.Mono/Program.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 455e4c311..042e48e58 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -405,7 +405,7 @@ namespace Emby.Server.Implementations // hack alert, until common can target .net core BaseExtensions.CryptographyProvider = CryptographyProvider; - XmlSerializer = new MyXmlSerializer(fileSystem, LoggerFactory.CreateLogger("XmlSerializer")); + XmlSerializer = new MyXmlSerializer(fileSystem, loggerFactory.CreateLogger("XmlSerializer")); NetworkManager = networkManager; networkManager.LocalSubnetsFn = GetConfiguredLocalSubnets; diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 21845d10e..0630df431 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -53,12 +53,12 @@ namespace MediaBrowser.Server.Mono var appPaths = CreateApplicationPaths(applicationPath, customProgramDataPath); _appPaths = appPaths; - var logger = new LoggerConfiguration() - .Enrich.FromLogContext() - .WriteTo.Console() - .CreateLogger(); - - using (var loggerFactory = new SerilogLoggerFactory(logger)) + using (var loggerFactory = new SerilogLoggerFactory( + new LoggerConfiguration() + .Enrich.FromLogContext() + .WriteTo.Console() + .CreateLogger() + , true)) { _loggerFactory = loggerFactory; -- cgit v1.2.3 From a8fde5e89c106c4601e0535218d8fe858c6a3908 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Sat, 15 Dec 2018 00:06:57 +0100 Subject: Readded some stuff --- .../AppBase/BaseConfigurationManager.cs | 2 +- Emby.Server.Implementations/ApplicationHost.cs | 16 ++++++---------- .../Configuration/BaseApplicationConfiguration.cs | 2 ++ MediaBrowser.Server.Mono/Program.cs | 16 ++++++++++------ 4 files changed, 19 insertions(+), 17 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs index f55da91a8..fdf2a3b73 100644 --- a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs +++ b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs @@ -97,7 +97,7 @@ namespace Emby.Server.Implementations.AppBase /// Initializes a new instance of the class. /// /// The application paths. - /// The log manager. + /// The logger factory. /// The XML serializer. protected BaseConfigurationManager(IApplicationPaths applicationPaths, ILoggerFactory loggerFactory, IXmlSerializer xmlSerializer, IFileSystem fileSystem) { diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 042e48e58..aa9b6e82a 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -693,7 +693,7 @@ namespace Emby.Server.Implementations return parts; } - /*/ + /* private void SetBaseExceptionMessage() { var builder = GetBaseExceptionMessage(ApplicationPaths); @@ -799,13 +799,9 @@ namespace Emby.Server.Implementations } JsonSerializer = CreateJsonSerializer(); - /* - OnLoggerLoaded(true); - LoggerFactory.LoggerLoaded += (s, e) => OnLoggerLoaded(false); - LoggerFactory.LogSeverity = ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging - ? LogSeverity.Debug - : LogSeverity.Info;*/ + OnLoggerLoaded(true); + //LoggerFactory.LoggerLoaded += (s, e) => OnLoggerLoaded(false); DiscoverTypes(); @@ -815,7 +811,7 @@ namespace Emby.Server.Implementations FindParts(); } - /* + protected virtual void OnLoggerLoaded(bool isFirstLoad) { Logger.LogInformation("Application version: {0}", ApplicationVersion); @@ -834,9 +830,9 @@ namespace Emby.Server.Implementations pluginBuilder.AppendLine(string.Format("{0} {1}", plugin.Name, plugin.Version)); } - Logger.LogMultiline("Plugins:", LogSeverity.Info, pluginBuilder); + Logger.LogInformation("Plugins: {plugins}", pluginBuilder.ToString()); } - }*/ + } protected virtual IHttpClient CreateHttpClient() { diff --git a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs index b5b0101cb..f84735bed 100644 --- a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs +++ b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs @@ -9,6 +9,7 @@ namespace MediaBrowser.Model.Configuration /// public class BaseApplicationConfiguration { + // TODO: @bond Remove? /// /// Gets or sets a value indicating whether [enable debug level logging]. /// @@ -21,6 +22,7 @@ namespace MediaBrowser.Model.Configuration /// true if [enable auto update]; otherwise, false. public bool EnableAutoUpdate { get; set; } + // TODO: @bond Remove? /// /// The number of days we should retain log files /// diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 32953e89d..9c6ee4dd2 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -137,13 +137,14 @@ namespace MediaBrowser.Server.Mono return; } - Console.WriteLine("appHost.Init"); + //Console.WriteLine("appHost.Init"); appHost.Init(); appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, fileSystem, options, () => appHost.HttpClient, appPaths, environmentInfo, appHost.LocalizationManager); - Console.WriteLine("Running startup tasks"); + //Console.WriteLine("Running startup tasks"); + _logger.LogInformation("Running startup tasks"); var task = appHost.RunStartupTasks(); Task.WaitAll(task); @@ -291,10 +292,12 @@ namespace MediaBrowser.Server.Mono { var exception = (Exception)e.ExceptionObject; - // TODO - /* - new UnhandledExceptionWriter(_appPaths, _logger, _logManager, FileSystem, new ConsoleLogger()).Log(exception); + //new UnhandledExceptionWriter(_appPaths, _logger, _logManager, FileSystem, new ConsoleLogger()).Log(exception); + + _logger.LogCritical(exception, "Unhandled Exception"); + // TODO: @bond + /* if (!Debugger.IsAttached) { var message = LogHelper.GetLogMessage(exception).ToString(); @@ -304,7 +307,8 @@ namespace MediaBrowser.Server.Mono { Environment.Exit(System.Runtime.InteropServices.Marshal.GetHRForException(exception)); } - }*/ + } + */ } public static void Shutdown() -- cgit v1.2.3 From 0c1b9d3bff7041b7d3b875885b8745680afcee72 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Sat, 15 Dec 2018 00:48:06 +0100 Subject: Rebase --- .../HttpServer/WebSocketConnection.cs | 2 +- Emby.Server.Implementations/SystemEvents.cs | 1 - Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs | 4 +- MediaBrowser.Api/ApiEntryPoint.cs | 36 ++++++++-------- MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs | 2 +- MediaBrowser.Api/Playback/BaseStreamingService.cs | 13 +++--- MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 7 ++-- MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 19 +++++---- MediaBrowser.Api/Playback/MediaInfoService.cs | 7 ++-- .../Progressive/BaseProgressiveStreamingService.cs | 2 + .../Progressive/ProgressiveStreamWriter.cs | 7 ++-- MediaBrowser.Api/Playback/StreamState.cs | 8 ++-- MediaBrowser.Api/Playback/TranscodingThrottler.cs | 22 +++++----- .../MediaEncoding/EncodingJobInfo.cs | 2 +- MediaBrowser.Controller/MediaEncoding/JobLogger.cs | 2 +- MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs | 2 +- MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs | 16 ++++---- .../Encoder/EncoderValidator.cs | 22 +++++----- MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs | 6 +-- .../Encoder/EncodingJobFactory.cs | 2 +- .../Encoder/FontConfigLoader.cs | 14 +++---- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 38 ++++++++--------- MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs | 4 +- .../Probing/ProbeResultNormalizer.cs | 6 +-- .../Subtitles/OpenSubtitleDownloader.cs | 18 ++++---- MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs | 4 +- .../Subtitles/SubtitleEncoder.cs | 48 +++++++++++----------- 27 files changed, 158 insertions(+), 156 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs index ca8723dde..037bdde77 100644 --- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs +++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs @@ -180,7 +180,7 @@ namespace Emby.Server.Implementations.HttpServer if (!message.StartsWith("{", StringComparison.OrdinalIgnoreCase)) { // This info is useful sometimes but also clogs up the log - //_logger.Error("Received web socket message that is not a json structure: " + message); + //_lLogError("Received web socket message that is not a json structure: " + message); return; } diff --git a/Emby.Server.Implementations/SystemEvents.cs b/Emby.Server.Implementations/SystemEvents.cs index e52962833..f39d63002 100644 --- a/Emby.Server.Implementations/SystemEvents.cs +++ b/Emby.Server.Implementations/SystemEvents.cs @@ -1,5 +1,4 @@ using System; -using MediaBrowser.Common.Events; using Microsoft.Extensions.Logging; using MediaBrowser.Model.System; diff --git a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs index 2817d9e8c..bbcd1eed3 100644 --- a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs +++ b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs @@ -87,7 +87,7 @@ namespace Emby.XmlTv.Classes if (string.IsNullOrEmpty(id)) { - //Logger.Error("No id found for channel row"); + //LLogError("No id found for channel row"); // Log.Error(" channel#{0} doesnt contain an id", iChannel); return null; } @@ -130,7 +130,7 @@ namespace Emby.XmlTv.Classes if (string.IsNullOrEmpty(result.DisplayName)) { - //Logger.Error("No display-name found for channel {0}", id); + //LLogError("No display-name found for channel {0}", id); return null; } diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index 1e99b8c7a..b51bdf6fd 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -147,7 +147,7 @@ namespace MediaBrowser.Api } catch (Exception ex) { - Logger.ErrorException("Error deleting encoded media cache", ex); + Logger.LogError("Error deleting encoded media cache", ex); } } @@ -378,7 +378,7 @@ namespace MediaBrowser.Api public void OnTranscodeEndRequest(TranscodingJob job) { job.ActiveRequestCount--; - //Logger.Debug("OnTranscodeEndRequest job.ActiveRequestCount={0}", job.ActiveRequestCount); + //Logger.LogDebug("OnTranscodeEndRequest job.ActiveRequestCount={0}", job.ActiveRequestCount); if (job.ActiveRequestCount <= 0) { PingTimer(job, false); @@ -391,7 +391,7 @@ namespace MediaBrowser.Api throw new ArgumentNullException("playSessionId"); } - //Logger.Debug("PingTranscodingJob PlaySessionId={0} isUsedPaused: {1}", playSessionId, isUserPaused); + //Logger.LogDebug("PingTranscodingJob PlaySessionId={0} isUsedPaused: {1}", playSessionId, isUserPaused); List jobs; @@ -406,7 +406,7 @@ namespace MediaBrowser.Api { if (isUserPaused.HasValue) { - //Logger.Debug("Setting job.IsUserPaused to {0}. jobId: {1}", isUserPaused, job.Id); + //Logger.LogDebug("Setting job.IsUserPaused to {0}. jobId: {1}", isUserPaused, job.Id); job.IsUserPaused = isUserPaused.Value; } PingTimer(job, true); @@ -461,7 +461,7 @@ namespace MediaBrowser.Api } } - Logger.Info("Transcoding kill timer stopped for JobId {0} PlaySessionId {1}. Killing transcoding", job.Id, job.PlaySessionId); + Logger.LogInformation("Transcoding kill timer stopped for JobId {0} PlaySessionId {1}. Killing transcoding", job.Id, job.PlaySessionId); KillTranscodingJob(job, true, path => true); } @@ -525,7 +525,7 @@ namespace MediaBrowser.Api { job.DisposeKillTimer(); - Logger.Debug("KillTranscodingJob - JobId {0} PlaySessionId {1}. Killing transcoding", job.Id, job.PlaySessionId); + Logger.LogDebug("KillTranscodingJob - JobId {0} PlaySessionId {1}. Killing transcoding", job.Id, job.PlaySessionId); lock (_activeTranscodingJobs) { @@ -557,7 +557,7 @@ namespace MediaBrowser.Api { try { - Logger.Info("Stopping ffmpeg process with q command for {0}", job.Path); + Logger.LogInformation("Stopping ffmpeg process with q command for {0}", job.Path); //process.Kill(); process.StandardInput.WriteLine("q"); @@ -565,13 +565,13 @@ namespace MediaBrowser.Api // Need to wait because killing is asynchronous if (!process.WaitForExit(5000)) { - Logger.Info("Killing ffmpeg process for {0}", job.Path); + Logger.LogInformation("Killing ffmpeg process for {0}", job.Path); process.Kill(); } } catch (Exception ex) { - Logger.ErrorException("Error killing transcoding job for {0}", ex, job.Path); + Logger.LogError("Error killing transcoding job for {0}", ex, job.Path); } } } @@ -589,7 +589,7 @@ namespace MediaBrowser.Api } catch (Exception ex) { - Logger.ErrorException("Error closing live stream for {0}", ex, job.Path); + Logger.LogError("Error closing live stream for {0}", ex, job.Path); } } } @@ -601,7 +601,7 @@ namespace MediaBrowser.Api return; } - Logger.Info("Deleting partial stream file(s) {0}", path); + Logger.LogInformation("Deleting partial stream file(s) {0}", path); await Task.Delay(delayMs).ConfigureAwait(false); @@ -622,13 +622,13 @@ namespace MediaBrowser.Api } catch (IOException) { - //Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, path); + //Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); DeletePartialStreamFiles(path, jobType, retryCount + 1, 500); } catch { - //Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, path); + //Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); } } @@ -660,7 +660,7 @@ namespace MediaBrowser.Api { try { - //Logger.Debug("Deleting HLS file {0}", file); + //Logger.LogDebug("Deleting HLS file {0}", file); _fileSystem.DeleteFile(file); } catch (FileNotFoundException) @@ -670,7 +670,7 @@ namespace MediaBrowser.Api catch (IOException ex) { e = ex; - //Logger.ErrorException("Error deleting HLS file {0}", ex, file); + //Logger.LogError("Error deleting HLS file {0}", ex, file); } } @@ -802,12 +802,12 @@ namespace MediaBrowser.Api { if (KillTimer == null) { - //Logger.Debug("Starting kill timer at {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); + //Logger.LogDebug("Starting kill timer at {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); KillTimer = _timerFactory.Create(callback, this, intervalMs, Timeout.Infinite); } else { - //Logger.Debug("Changing kill timer to {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); + //Logger.LogDebug("Changing kill timer to {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); KillTimer.Change(intervalMs, Timeout.Infinite); } } @@ -826,7 +826,7 @@ namespace MediaBrowser.Api { var intervalMs = PingTimeout; - //Logger.Debug("Changing kill timer to {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); + //Logger.LogDebug("Changing kill timer to {0}ms. JobId {1} PlaySessionId {2}", intervalMs, Id, PlaySessionId); KillTimer.Change(intervalMs, Timeout.Infinite); } } diff --git a/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs b/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs index bf8aba8df..07ac7f28d 100644 --- a/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs +++ b/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs @@ -5,10 +5,10 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Library; using MediaBrowser.Model.IO; -using Microsoft.Extensions.Logging; using MediaBrowser.Model.Services; using MediaBrowser.Model.System; using MediaBrowser.Controller.IO; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.LiveTv { diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 9c2e0e9d8..37cc8d2d7 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -24,6 +24,7 @@ using MediaBrowser.Controller; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Diagnostics; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback { @@ -248,7 +249,7 @@ namespace MediaBrowser.Api.Playback cancellationTokenSource); var commandLineLogMessage = process.StartInfo.FileName + " " + process.StartInfo.Arguments; - Logger.Info(commandLineLogMessage); + Logger.LogInformation(commandLineLogMessage); var logFilePrefix = "ffmpeg-transcode"; if (state.VideoRequest != null && string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase) && string.Equals(state.OutputAudioCodec, "copy", StringComparison.OrdinalIgnoreCase)) @@ -277,7 +278,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - Logger.ErrorException("Error starting ffmpeg", ex); + Logger.LogError("Error starting ffmpeg", ex); ApiEntryPoint.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType, state); @@ -351,16 +352,16 @@ namespace MediaBrowser.Api.Playback job.HasExited = true; } - Logger.Debug("Disposing stream resources"); + Logger.LogDebug("Disposing stream resources"); state.Dispose(); try { - Logger.Info("FFMpeg exited with code {0}", process.ExitCode); + Logger.LogInformation("FFMpeg exited with code {0}", process.ExitCode); } catch { - Logger.Error("FFMpeg exited with an error."); + Logger.LogError("FFMpeg exited with an error."); } // This causes on exited to be called twice: @@ -371,7 +372,7 @@ namespace MediaBrowser.Api.Playback //} //catch (Exception ex) //{ - // Logger.ErrorException("Error disposing ffmpeg.", ex); + // Logger.LogError("Error disposing ffmpeg.", ex); //} } diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index a0f4a2e71..7ef7b81e6 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -15,6 +15,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Net; using MediaBrowser.Model.Configuration; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback.Hls { @@ -185,7 +186,7 @@ namespace MediaBrowser.Api.Playback.Hls protected virtual async Task WaitForMinimumSegmentCount(string playlist, int segmentCount, CancellationToken cancellationToken) { - Logger.Debug("Waiting for {0} segments in {1}", segmentCount, playlist); + Logger.LogDebug("Waiting for {0} segments in {1}", segmentCount, playlist); while (!cancellationToken.IsCancellationRequested) { @@ -207,7 +208,7 @@ namespace MediaBrowser.Api.Playback.Hls count++; if (count >= segmentCount) { - Logger.Debug("Finished waiting for {0} segments in {1}", segmentCount, playlist); + Logger.LogDebug("Finished waiting for {0} segments in {1}", segmentCount, playlist); return; } } @@ -330,4 +331,4 @@ namespace MediaBrowser.Api.Playback.Hls { } } -} \ No newline at end of file +} diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 0525c8cc4..7dda91e5a 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -21,6 +21,7 @@ using System.Threading.Tasks; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Services; using MimeTypes = MediaBrowser.Model.Net.MimeTypes; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback.Hls { @@ -190,17 +191,17 @@ namespace MediaBrowser.Api.Playback.Hls if (currentTranscodingIndex == null) { - Logger.Debug("Starting transcoding because currentTranscodingIndex=null"); + Logger.LogDebug("Starting transcoding because currentTranscodingIndex=null"); startTranscoding = true; } else if (requestedIndex < currentTranscodingIndex.Value) { - Logger.Debug("Starting transcoding because requestedIndex={0} and currentTranscodingIndex={1}", requestedIndex, currentTranscodingIndex); + Logger.LogDebug("Starting transcoding because requestedIndex={0} and currentTranscodingIndex={1}", requestedIndex, currentTranscodingIndex); startTranscoding = true; } else if (requestedIndex - currentTranscodingIndex.Value > segmentGapRequiringTranscodingChange) { - Logger.Debug("Starting transcoding because segmentGap is {0} and max allowed gap is {1}. requestedIndex={2}", requestedIndex - currentTranscodingIndex.Value, segmentGapRequiringTranscodingChange, requestedIndex); + Logger.LogDebug("Starting transcoding because segmentGap is {0} and max allowed gap is {1}. requestedIndex={2}", requestedIndex - currentTranscodingIndex.Value, segmentGapRequiringTranscodingChange, requestedIndex); startTranscoding = true; } if (startTranscoding) @@ -245,13 +246,13 @@ namespace MediaBrowser.Api.Playback.Hls } } - //Logger.Info("waiting for {0}", segmentPath); + //Logger.LogInformation("waiting for {0}", segmentPath); //while (!File.Exists(segmentPath)) //{ // await Task.Delay(50, cancellationToken).ConfigureAwait(false); //} - Logger.Info("returning {0}", segmentPath); + Logger.LogInformation("returning {0}", segmentPath); job = job ?? ApiEntryPoint.Instance.OnTranscodeBeginRequest(playlistPath, TranscodingJobType); return await GetSegmentResult(state, playlistPath, segmentPath, segmentExtension, requestedIndex, job, cancellationToken).ConfigureAwait(false); } @@ -358,7 +359,7 @@ namespace MediaBrowser.Api.Playback.Hls return; } - Logger.Debug("Deleting partial HLS file {0}", path); + Logger.LogDebug("Deleting partial HLS file {path}", path); try { @@ -366,7 +367,7 @@ namespace MediaBrowser.Api.Playback.Hls } catch (IOException ex) { - Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); var task = Task.Delay(100); Task.WaitAll(task); @@ -374,7 +375,7 @@ namespace MediaBrowser.Api.Playback.Hls } catch (Exception ex) { - Logger.ErrorException("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); } } @@ -968,4 +969,4 @@ namespace MediaBrowser.Api.Playback.Hls ).Trim(); } } -} \ No newline at end of file +} diff --git a/MediaBrowser.Api/Playback/MediaInfoService.cs b/MediaBrowser.Api/Playback/MediaInfoService.cs index 2db0f8f41..6dafe134c 100644 --- a/MediaBrowser.Api/Playback/MediaInfoService.cs +++ b/MediaBrowser.Api/Playback/MediaInfoService.cs @@ -18,6 +18,7 @@ using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Services; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback { @@ -381,11 +382,11 @@ namespace MediaBrowser.Api.Playback if (item is Audio) { - Logger.Info("User policy for {0}. EnableAudioPlaybackTranscoding: {1}", user.Name, user.Policy.EnableAudioPlaybackTranscoding); + Logger.LogInformation("User policy for {0}. EnableAudioPlaybackTranscoding: {1}", user.Name, user.Policy.EnableAudioPlaybackTranscoding); } else { - Logger.Info("User policy for {0}. EnablePlaybackRemuxing: {1} EnableVideoPlaybackTranscoding: {2} EnableAudioPlaybackTranscoding: {3}", + Logger.LogInformation("User policy for {0}. EnablePlaybackRemuxing: {1} EnableVideoPlaybackTranscoding: {2} EnableAudioPlaybackTranscoding: {3}", user.Name, user.Policy.EnablePlaybackRemuxing, user.Policy.EnableVideoPlaybackTranscoding, @@ -525,7 +526,7 @@ namespace MediaBrowser.Api.Playback { var isInLocalNetwork = _networkManager.IsInLocalNetwork(Request.RemoteIp); - Logger.Info("RemoteClientBitrateLimit: {0}, RemoteIp: {1}, IsInLocalNetwork: {2}", remoteClientMaxBitrate, Request.RemoteIp, isInLocalNetwork); + Logger.LogInformation("RemoteClientBitrateLimit: {0}, RemoteIp: {1}, IsInLocalNetwork: {2}", remoteClientMaxBitrate, Request.RemoteIp, isInLocalNetwork); if (!isInLocalNetwork) { maxBitrate = Math.Min(maxBitrate ?? remoteClientMaxBitrate, remoteClientMaxBitrate); diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index 44261f2d5..cc59b1049 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -17,6 +17,8 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Services; using MediaBrowser.Model.System; +using Microsoft.Extensions.Logging; +using MediaBrowser.Api.LiveTv; namespace MediaBrowser.Api.Playback.Progressive { diff --git a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs index 9839a7a9a..ed2930b4d 100644 --- a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs +++ b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs @@ -1,16 +1,15 @@ -using MediaBrowser.Model.Logging; -using System; +using System; using System.IO; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.IO; using MediaBrowser.Controller.Net; using System.Collections.Generic; - using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Services; using MediaBrowser.Model.System; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback.Progressive { @@ -110,7 +109,7 @@ namespace MediaBrowser.Api.Playback.Progressive } //var position = fs.Position; - //_logger.Debug("Streamed {0} bytes to position {1} from file {2}", bytesRead, position, path); + //_logger.LogDebug("Streamed {0} bytes to position {1} from file {2}", bytesRead, position, path); if (bytesRead == 0) { diff --git a/MediaBrowser.Api/Playback/StreamState.cs b/MediaBrowser.Api/Playback/StreamState.cs index db5d256c4..981a4725d 100644 --- a/MediaBrowser.Api/Playback/StreamState.cs +++ b/MediaBrowser.Api/Playback/StreamState.cs @@ -4,7 +4,6 @@ using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Net; using System; @@ -14,6 +13,7 @@ using System.IO; using System.Linq; using System.Threading; using MediaBrowser.Controller.MediaEncoding; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback { @@ -162,7 +162,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.ErrorException("Error disposing log stream", ex); + _logger.LogError("Error disposing log stream", ex); } LogFileStream = null; @@ -179,7 +179,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.ErrorException("Error disposing TranscodingThrottler", ex); + _logger.LogError("Error disposing TranscodingThrottler", ex); } TranscodingThrottler = null; @@ -196,7 +196,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.ErrorException("Error closing media source", ex); + _logger.LogError("Error closing media source", ex); } } } diff --git a/MediaBrowser.Api/Playback/TranscodingThrottler.cs b/MediaBrowser.Api/Playback/TranscodingThrottler.cs index c42d0c3e4..47f1f777a 100644 --- a/MediaBrowser.Api/Playback/TranscodingThrottler.cs +++ b/MediaBrowser.Api/Playback/TranscodingThrottler.cs @@ -1,9 +1,9 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Model.Configuration; -using MediaBrowser.Model.Logging; using System; using MediaBrowser.Model.IO; using MediaBrowser.Model.Threading; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.Playback { @@ -60,7 +60,7 @@ namespace MediaBrowser.Api.Playback { if (!_isPaused) { - _logger.Debug("Sending pause command to ffmpeg"); + _logger.LogDebug("Sending pause command to ffmpeg"); try { @@ -69,7 +69,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.ErrorException("Error pausing transcoding", ex); + _logger.LogError("Error pausing transcoding", ex); } } } @@ -78,7 +78,7 @@ namespace MediaBrowser.Api.Playback { if (_isPaused) { - _logger.Debug("Sending unpause command to ffmpeg"); + _logger.LogDebug("Sending unpause command to ffmpeg"); try { @@ -87,7 +87,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.ErrorException("Error unpausing transcoding", ex); + _logger.LogError("Error unpausing transcoding", ex); } } } @@ -110,11 +110,11 @@ namespace MediaBrowser.Api.Playback if (gap < targetGap) { - //_logger.Debug("Not throttling transcoder gap {0} target gap {1}", gap, targetGap); + //_logger.LogDebug("Not throttling transcoder gap {0} target gap {1}", gap, targetGap); return false; } - //_logger.Debug("Throttling transcoder gap {0} target gap {1}", gap, targetGap); + //_logger.LogDebug("Throttling transcoder gap {0} target gap {1}", gap, targetGap); return true; } @@ -135,21 +135,21 @@ namespace MediaBrowser.Api.Playback if (gap < targetGap) { - //_logger.Debug("Not throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); + //_logger.LogDebug("Not throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); return false; } - //_logger.Debug("Throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); + //_logger.LogDebug("Throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); return true; } catch { - //_logger.Error("Error getting output size"); + //_logger.LogError("Error getting output size"); return false; } } - //_logger.Debug("No throttle data for " + path); + //_logger.LogDebug("No throttle data for " + path); return false; } diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs index e1762fbda..3ec4e3bb7 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs @@ -8,10 +8,10 @@ using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Session; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.MediaEncoding { diff --git a/MediaBrowser.Controller/MediaEncoding/JobLogger.cs b/MediaBrowser.Controller/MediaEncoding/JobLogger.cs index 539aab7b3..8bb826bd1 100644 --- a/MediaBrowser.Controller/MediaEncoding/JobLogger.cs +++ b/MediaBrowser.Controller/MediaEncoding/JobLogger.cs @@ -4,7 +4,7 @@ using System.Globalization; using System.IO; using System.Linq; using System.Text; -using Microsoft.Extension.Logging; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.MediaEncoding { diff --git a/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs index 566e7946d..2a874eba1 100644 --- a/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs @@ -3,7 +3,7 @@ using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Session; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using MediaBrowser.Model.Diagnostics; diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs index 3383276bc..1fd34c8fd 100644 --- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs @@ -7,7 +7,7 @@ using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using System; using System.Collections.Generic; @@ -105,7 +105,7 @@ namespace MediaBrowser.MediaEncoding.Encoder OnTranscodeBeginning(encodingJob); var commandLineLogMessage = process.StartInfo.FileName + " " + process.StartInfo.Arguments; - Logger.Info(commandLineLogMessage); + Logger.LogInformation(commandLineLogMessage); var logFilePath = Path.Combine(ConfigurationManager.CommonApplicationPaths.LogDirectoryPath, "transcode-" + Guid.NewGuid() + ".txt"); FileSystem.CreateDirectory(FileSystem.GetDirectoryName(logFilePath)); @@ -124,7 +124,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - Logger.ErrorException("Error starting ffmpeg", ex); + Logger.LogError("Error starting ffmpeg", ex); OnTranscodeFailedToStart(encodingJob.OutputFilePath, encodingJob); @@ -150,7 +150,7 @@ namespace MediaBrowser.MediaEncoding.Encoder private void Cancel(IProcess process, EncodingJob job) { - Logger.Info("Killing ffmpeg process for {0}", job.OutputFilePath); + Logger.LogInformation("Killing ffmpeg process for {0}", job.OutputFilePath); //process.Kill(); process.StandardInput.WriteLine("q"); @@ -167,7 +167,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { job.HasExited = true; - Logger.Debug("Disposing stream resources"); + Logger.LogDebug("Disposing stream resources"); job.Dispose(); var isSuccesful = false; @@ -175,13 +175,13 @@ namespace MediaBrowser.MediaEncoding.Encoder try { var exitCode = process.ExitCode; - Logger.Info("FFMpeg exited with code {0}", exitCode); + Logger.LogInformation("FFMpeg exited with code {0}", exitCode); isSuccesful = exitCode == 0; } catch { - Logger.Error("FFMpeg exited with an error."); + Logger.LogError("FFMpeg exited with an error."); } if (isSuccesful && !job.IsCancelled) @@ -231,7 +231,7 @@ namespace MediaBrowser.MediaEncoding.Encoder //} //catch (Exception ex) //{ - // Logger.ErrorException("Error disposing ffmpeg.", ex); + // Logger.LogError("Error disposing ffmpeg.", ex); //} } diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 59f3576ec..9653e561c 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using MediaBrowser.Model.Diagnostics; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace MediaBrowser.MediaEncoding.Encoder { @@ -20,12 +20,12 @@ namespace MediaBrowser.MediaEncoding.Encoder public Tuple, List> Validate(string encoderPath) { - _logger.Info("Validating media encoder at {0}", encoderPath); + _logger.LogInformation("Validating media encoder at {0}", encoderPath); var decoders = GetDecoders(encoderPath); var encoders = GetEncoders(encoderPath); - _logger.Info("Encoder validation complete"); + _logger.LogInformation("Encoder validation complete"); return new Tuple, List>(decoders, encoders); } @@ -41,7 +41,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { if (logOutput) { - _logger.ErrorException("Error validating encoder", ex); + _logger.LogError("Error validating encoder", ex); } } @@ -50,7 +50,7 @@ namespace MediaBrowser.MediaEncoding.Encoder return false; } - _logger.Info("ffmpeg info: {0}", output); + _logger.LogInformation("ffmpeg info: {0}", output); if (output.IndexOf("Libav developers", StringComparison.OrdinalIgnoreCase) != -1) { @@ -80,7 +80,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ) { - //_logger.ErrorException("Error detecting available decoders", ex); + //_logger.LogError("Error detecting available decoders", ex); } var found = new List(); @@ -107,7 +107,7 @@ namespace MediaBrowser.MediaEncoding.Encoder if (output.IndexOf(srch, StringComparison.OrdinalIgnoreCase) != -1) { - _logger.Info("Decoder available: " + codec); + _logger.LogInformation("Decoder available: " + codec); found.Add(codec); } } @@ -163,7 +163,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { if (index < required.Length - 1) { - _logger.Info("Encoder available: " + codec); + _logger.LogInformation("Encoder available: " + codec); } found.Add(codec); @@ -187,7 +187,7 @@ namespace MediaBrowser.MediaEncoding.Encoder RedirectStandardOutput = true }); - _logger.Info("Running {0} {1}", path, arguments); + _logger.LogInformation("Running {0} {1}", path, arguments); using (process) { @@ -199,7 +199,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch { - _logger.Info("Killing process {0} {1}", path, arguments); + _logger.LogInformation("Killing process {0} {1}", path, arguments); // Hate having to do this try @@ -208,7 +208,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex1) { - _logger.ErrorException("Error killing process", ex1); + _logger.LogError("Error killing process", ex1); } throw; diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs index 294181fcc..dcaf4a2b1 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs @@ -5,7 +5,6 @@ using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Net; using System; @@ -14,6 +13,7 @@ using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Microsoft.Extensions.Logging; namespace MediaBrowser.MediaEncoding.Encoder { @@ -81,7 +81,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.ErrorException("Error disposing log stream", ex); + _logger.LogError("Error disposing log stream", ex); } LogFileStream = null; @@ -98,7 +98,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.ErrorException("Error closing media source", ex); + _logger.LogError("Error closing media source", ex); } } } diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs index 8d8d05a16..4e6ee89e1 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs @@ -5,7 +5,7 @@ using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using System; using System.Collections.Generic; diff --git a/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs b/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs index e21292cbd..2f0161962 100644 --- a/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs +++ b/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs @@ -10,7 +10,7 @@ using MediaBrowser.Common.Net; using MediaBrowser.Common.Progress; using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.Net; namespace MediaBrowser.MediaEncoding.Encoder @@ -72,12 +72,12 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (HttpException ex) { // Don't let the server crash because of this - _logger.ErrorException("Error downloading ffmpeg font files", ex); + _logger.LogError("Error downloading ffmpeg font files", ex); } catch (Exception ex) { // Don't let the server crash because of this - _logger.ErrorException("Error writing ffmpeg font files", ex); + _logger.LogError("Error writing ffmpeg font files", ex); } } @@ -103,7 +103,7 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (IOException ex) { // Log this, but don't let it fail the operation - _logger.ErrorException("Error copying file", ex); + _logger.LogError("Error copying file", ex); } } @@ -127,7 +127,7 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (Exception ex) { // The core can function without the font file, so handle this - _logger.ErrorException("Failed to download ffmpeg font file from {0}", ex, url); + _logger.LogError("Failed to download ffmpeg font file from {0}", ex, url); } } @@ -145,12 +145,12 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (IOException ex) { // Log this, but don't let it fail the operation - _logger.ErrorException("Error deleting temp file {0}", ex, tempFile); + _logger.LogError("Error deleting temp file {0}", ex, tempFile); } } private void Extract7zArchive(string archivePath, string targetPath) { - _logger.Info("Extracting {0} to {1}", archivePath, targetPath); + _logger.LogInformation("Extracting {0} to {1}", archivePath, targetPath); _zipClient.ExtractAllFrom7z(archivePath, targetPath, true); } diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 64372c072..4cd66e5ce 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -9,7 +9,6 @@ using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Serialization; using System; @@ -25,6 +24,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Net; using MediaBrowser.Model.Diagnostics; using MediaBrowser.Model.System; +using Microsoft.Extensions.Logging; namespace MediaBrowser.MediaEncoding.Encoder { @@ -117,7 +117,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.ErrorException("Error setting FFREPORT environment variable", ex); + _logger.LogError("Error setting FFREPORT environment variable", ex); } } } @@ -132,7 +132,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - //_logger.ErrorException("Error setting FFREPORT environment variable", ex); + //_logger.LogError("Error setting FFREPORT environment variable", ex); } } } @@ -145,7 +145,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.ErrorException("Error setting FFREPORT environment variable", ex); + _logger.LogError("Error setting FFREPORT environment variable", ex); } try { @@ -153,7 +153,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.ErrorException("Error setting FFREPORT environment variable", ex); + _logger.LogError("Error setting FFREPORT environment variable", ex); } } @@ -252,7 +252,7 @@ namespace MediaBrowser.MediaEncoding.Encoder return; } - _logger.Info("Attempting to update encoder path to {0}. pathType: {1}", path ?? string.Empty, pathType ?? string.Empty); + _logger.LogInformation("Attempting to update encoder path to {0}. pathType: {1}", path ?? string.Empty, pathType ?? string.Empty); Tuple newPaths; @@ -414,8 +414,8 @@ namespace MediaBrowser.MediaEncoding.Encoder private void LogPaths() { - _logger.Info("FFMpeg: {0}", FFMpegPath ?? "not found"); - _logger.Info("FFProbe: {0}", FFProbePath ?? "not found"); + _logger.LogInformation("FFMpeg: {0}", FFMpegPath ?? "not found"); + _logger.LogInformation("FFProbe: {0}", FFProbePath ?? "not found"); } private EncodingOptions GetEncodingOptions() @@ -557,11 +557,11 @@ namespace MediaBrowser.MediaEncoding.Encoder if (forceEnableLogging) { - _logger.Info("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); } else { - _logger.Debug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); } using (var processWrapper = new ProcessWrapper(process, this, _logger)) @@ -651,7 +651,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch { - _logger.Error("I-frame image extraction failed, will attempt standard way. Input: {0}", inputArgument); + _logger.LogError("I-frame image extraction failed, will attempt standard way. Input: {0}", inputArgument); } } @@ -755,7 +755,7 @@ namespace MediaBrowser.MediaEncoding.Encoder ErrorDialog = false }); - _logger.Debug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); using (var processWrapper = new ProcessWrapper(process, this, _logger)) { @@ -783,7 +783,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { var msg = string.Format("ffmpeg image extraction failed for {0}", inputPath); - _logger.Error(msg); + _logger.LogError(msg); throw new Exception(msg); } @@ -877,7 +877,7 @@ namespace MediaBrowser.MediaEncoding.Encoder ErrorDialog = false }); - _logger.Info(process.StartInfo.FileName + " " + process.StartInfo.Arguments); + _logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments); await resourcePool.WaitAsync(cancellationToken).ConfigureAwait(false); @@ -929,7 +929,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { var msg = string.Format("ffmpeg image extraction failed for {0}", inputArgument); - _logger.Error(msg); + _logger.LogError(msg); throw new Exception(msg); } @@ -961,7 +961,7 @@ namespace MediaBrowser.MediaEncoding.Encoder IProgress progress, CancellationToken cancellationToken) { - _logger.Error("EncodeVideo"); + _logger.LogError("EncodeVideo"); var job = await new VideoEncoder(this, _logger, ConfigurationManager, @@ -999,18 +999,18 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.Error("Error in WaitForExit", ex); + _logger.LogError("Error in WaitForExit", ex); } try { - _logger.Info("Killing ffmpeg process"); + _logger.LogInformation("Killing ffmpeg process"); process.Process.Kill(); } catch (Exception ex) { - _logger.ErrorException("Error killing process", ex); + _logger.LogError("Error killing process", ex); } } diff --git a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs index 96c126923..732b5bf84 100644 --- a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs @@ -4,7 +4,7 @@ using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.IO; using System.Threading.Tasks; @@ -63,4 +63,4 @@ namespace MediaBrowser.MediaEncoding.Encoder } } -} \ No newline at end of file +} diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 0a3532b8c..c3cf61dc1 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -13,7 +13,7 @@ using MediaBrowser.Model.IO; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.MediaEncoding.Probing @@ -1351,11 +1351,11 @@ namespace MediaBrowser.MediaEncoding.Probing { video.Timestamp = GetMpegTimestamp(video.Path); - _logger.Debug("Video has {0} timestamp", video.Timestamp); + _logger.LogDebug("Video has {0} timestamp", video.Timestamp); } catch (Exception ex) { - _logger.ErrorException("Error extracting timestamp info from {0}", ex, video.Path); + _logger.LogError("Error extracting timestamp info from {0}", ex, video.Path); video.Timestamp = null; } } diff --git a/MediaBrowser.MediaEncoding/Subtitles/OpenSubtitleDownloader.cs b/MediaBrowser.MediaEncoding/Subtitles/OpenSubtitleDownloader.cs index 3954897ca..2d29f29e3 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/OpenSubtitleDownloader.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/OpenSubtitleDownloader.cs @@ -15,9 +15,9 @@ using MediaBrowser.Controller.Subtitles; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; -using MediaBrowser.Model.Logging; using MediaBrowser.Model.Providers; using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; using OpenSubtitlesHandler; namespace MediaBrowser.MediaEncoding.Subtitles @@ -34,9 +34,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles private readonly IJsonSerializer _json; private readonly IFileSystem _fileSystem; - public OpenSubtitleDownloader(ILogManager logManager, IHttpClient httpClient, IServerConfigurationManager config, IEncryptionManager encryption, IJsonSerializer json, IFileSystem fileSystem) + public OpenSubtitleDownloader(ILoggerFactory loggerFactory, IHttpClient httpClient, IServerConfigurationManager config, IEncryptionManager encryption, IJsonSerializer json, IFileSystem fileSystem) { - _logger = logManager.GetLogger(GetType().Name); + _logger = loggerFactory.CreateLogger(GetType().Name); _httpClient = httpClient; _config = config; _encryption = encryption; @@ -208,7 +208,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles var result = OpenSubtitles.GetSubLanguages("en"); if (!(result is MethodResponseGetSubLanguages)) { - _logger.Error("Invalid response type"); + _logger.LogError("Invalid response type"); return new List(); } @@ -243,19 +243,19 @@ namespace MediaBrowser.MediaEncoding.Subtitles case VideoContentType.Episode: if (!request.IndexNumber.HasValue || !request.ParentIndexNumber.HasValue || string.IsNullOrEmpty(request.SeriesName)) { - _logger.Debug("Episode information missing"); + _logger.LogDebug("Episode information missing"); return new List(); } break; case VideoContentType.Movie: if (string.IsNullOrEmpty(request.Name)) { - _logger.Debug("Movie name missing"); + _logger.LogDebug("Movie name missing"); return new List(); } if (string.IsNullOrWhiteSpace(imdbIdText) || !long.TryParse(imdbIdText.TrimStart('t'), NumberStyles.Any, _usCulture, out imdbId)) { - _logger.Debug("Imdb id missing"); + _logger.LogDebug("Imdb id missing"); return new List(); } break; @@ -263,7 +263,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles if (string.IsNullOrEmpty(request.MediaPath)) { - _logger.Debug("Path Missing"); + _logger.LogDebug("Path Missing"); return new List(); } @@ -300,7 +300,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles var result = await OpenSubtitles.SearchSubtitlesAsync(parms.ToArray(), cancellationToken).ConfigureAwait(false); if (!(result is MethodResponseSubtitleSearch)) { - _logger.Error("Invalid response type"); + _logger.LogError("Invalid response type"); return new List(); } diff --git a/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs b/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs index de6d7bc72..7ca8aa1fd 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SrtParser.cs @@ -1,5 +1,5 @@ using MediaBrowser.Model.Extensions; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Globalization; @@ -50,7 +50,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles { // This occurs when subtitle text has an empty line as part of the text. // Need to adjust the break statement below to resolve this. - _logger.Warn("Unrecognized line in srt: {0}", line); + _logger.LogWarning("Unrecognized line in srt: {0}", line); continue; } subEvent.StartPositionTicks = GetTicks(time[0]); diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index d565ff3e2..a3e0f89a9 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -5,7 +5,7 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Serialization; using System; @@ -190,7 +190,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles var bytes = await GetBytes(path, protocol, cancellationToken).ConfigureAwait(false); var charset = _textEncoding.GetDetectedEncodingName(bytes, bytes.Length, language, true); - _logger.Debug("charset {0} detected for {1}", charset ?? "null", path); + _logger.LogDebug("charset {0} detected for {1}", charset ?? "null", path); if (!string.IsNullOrEmpty(charset)) { @@ -423,7 +423,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles ErrorDialog = false }); - _logger.Info("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); try { @@ -431,7 +431,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.ErrorException("Error starting ffmpeg", ex); + _logger.LogError("Error starting ffmpeg", ex); throw; } @@ -442,13 +442,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles { try { - _logger.Info("Killing ffmpeg subtitle conversion process"); + _logger.LogInformation("Killing ffmpeg subtitle conversion process"); process.Kill(); } catch (Exception ex) { - _logger.ErrorException("Error killing subtitle conversion process", ex); + _logger.LogError("Error killing subtitle conversion process", ex); } } @@ -466,12 +466,12 @@ namespace MediaBrowser.MediaEncoding.Subtitles { try { - _logger.Info("Deleting converted subtitle due to failure: ", outputPath); + _logger.LogInformation("Deleting converted subtitle due to failure: ", outputPath); _fileSystem.DeleteFile(outputPath); } catch (IOException ex) { - _logger.ErrorException("Error deleting converted subtitle {0}", ex, outputPath); + _logger.LogError("Error deleting converted subtitle {0}", ex, outputPath); } } } @@ -484,13 +484,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles { var msg = string.Format("ffmpeg subtitle conversion failed for {0}", inputPath); - _logger.Error(msg); + _logger.LogError(msg); throw new Exception(msg); } await SetAssFont(outputPath).ConfigureAwait(false); - _logger.Info("ffmpeg subtitle conversion succeeded for {0}", inputPath); + _logger.LogInformation("ffmpeg subtitle conversion succeeded for {0}", inputPath); } /// @@ -553,7 +553,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles ErrorDialog = false }); - _logger.Info("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + _logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); try { @@ -561,7 +561,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.ErrorException("Error starting ffmpeg", ex); + _logger.LogError("Error starting ffmpeg", ex); throw; } @@ -572,13 +572,13 @@ namespace MediaBrowser.MediaEncoding.Subtitles { try { - _logger.Info("Killing ffmpeg subtitle extraction process"); + _logger.LogInformation("Killing ffmpeg subtitle extraction process"); process.Kill(); } catch (Exception ex) { - _logger.ErrorException("Error killing subtitle extraction process", ex); + _logger.LogError("Error killing subtitle extraction process", ex); } } @@ -594,7 +594,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles try { - _logger.Info("Deleting extracted subtitle due to failure: {0}", outputPath); + _logger.LogInformation("Deleting extracted subtitle due to failure: {0}", outputPath); _fileSystem.DeleteFile(outputPath); } catch (FileNotFoundException) @@ -603,7 +603,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (IOException ex) { - _logger.ErrorException("Error deleting extracted subtitle {0}", ex, outputPath); + _logger.LogError("Error deleting extracted subtitle {0}", ex, outputPath); } } else if (!_fileSystem.FileExists(outputPath)) @@ -615,7 +615,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles { var msg = string.Format("ffmpeg subtitle extraction failed for {0} to {1}", inputPath, outputPath); - _logger.Error(msg); + _logger.LogError(msg); throw new Exception(msg); } @@ -623,7 +623,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles { var msg = string.Format("ffmpeg subtitle extraction completed for {0} to {1}", inputPath, outputPath); - _logger.Info(msg); + _logger.LogInformation(msg); } if (string.Equals(outputCodec, "ass", StringComparison.OrdinalIgnoreCase)) @@ -639,7 +639,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles /// Task. private async Task SetAssFont(string file) { - _logger.Info("Setting ass font within {0}", file); + _logger.LogInformation("Setting ass font within {0}", file); string text; Encoding encoding; @@ -659,11 +659,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles if (!string.Equals(text, newText)) { using (var fileStream = _fileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read)) + using (var writer = new StreamWriter(fileStream, encoding)) { - using (var writer = new StreamWriter(fileStream, encoding)) - { - writer.Write(newText); - } + writer.Write(newText); } } } @@ -698,7 +696,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles var charset = _textEncoding.GetDetectedEncodingName(bytes, bytes.Length, language, true); - _logger.Debug("charset {0} detected for {1}", charset ?? "null", path); + _logger.LogDebug("charset {0} detected for {1}", charset ?? "null", path); return charset; } @@ -730,4 +728,4 @@ namespace MediaBrowser.MediaEncoding.Subtitles } } -} \ No newline at end of file +} -- cgit v1.2.3 From bf01918659986cc6cbaefaebb67f607aeb1b4400 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 20 Dec 2018 11:38:42 +0100 Subject: Clean up --- Emby.IsoMounting/IsoMounter/LinuxMount.cs | 2 -- .../LiveTv/LiveTvManager.cs | 6 +--- MediaBrowser.Api/LiveTv/LiveTvService.cs | 1 - MediaBrowser.Api/UserLibrary/PlaystateService.cs | 4 +-- MediaBrowser.Controller/Entities/Folder.cs | 42 +++++++++------------- 5 files changed, 20 insertions(+), 35 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.IsoMounting/IsoMounter/LinuxMount.cs b/Emby.IsoMounting/IsoMounter/LinuxMount.cs index a08a12392..edd26f08d 100644 --- a/Emby.IsoMounting/IsoMounter/LinuxMount.cs +++ b/Emby.IsoMounting/IsoMounter/LinuxMount.cs @@ -1,7 +1,5 @@ using System; using MediaBrowser.Model.IO; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.System; namespace IsoMounter { diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index d74636e8d..679f8668b 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Common; -using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Progress; using MediaBrowser.Controller.Configuration; @@ -18,9 +17,7 @@ using Microsoft.Extensions.Logging; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Serialization; using System; -using System.Collections.Concurrent; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -29,7 +26,6 @@ using MediaBrowser.Common.Events; using MediaBrowser.Common.Security; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.IO; using MediaBrowser.Model.Events; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Globalization; diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs index 06c0c6862..ef9ce9aec 100644 --- a/MediaBrowser.Api/LiveTv/LiveTvService.cs +++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs @@ -17,7 +17,6 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Api.UserLibrary; using MediaBrowser.Model.IO; -using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Model.Services; diff --git a/MediaBrowser.Api/UserLibrary/PlaystateService.cs b/MediaBrowser.Api/UserLibrary/PlaystateService.cs index 2c514a109..9b269542a 100644 --- a/MediaBrowser.Api/UserLibrary/PlaystateService.cs +++ b/MediaBrowser.Api/UserLibrary/PlaystateService.cs @@ -6,9 +6,9 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Session; using System; using System.Globalization; -using System.Linq; using System.Threading.Tasks; using MediaBrowser.Model.Services; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api.UserLibrary { @@ -381,7 +381,7 @@ namespace MediaBrowser.Api.UserLibrary public void Post(ReportPlaybackStopped request) { - Logger.Debug("ReportPlaybackStopped PlaySessionId: {0}", request.PlaySessionId ?? string.Empty); + Logger.LogDebug("ReportPlaybackStopped PlaySessionId: {0}", request.PlaySessionId ?? string.Empty); if (!string.IsNullOrWhiteSpace(request.PlaySessionId)) { diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 3d830cbe6..e9352ce40 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -371,6 +371,7 @@ namespace MediaBrowser.Controller.Entities } catch (Exception ex) { + Logger.LogError(ex, "Error retrieving children folder"); return; } @@ -419,11 +420,7 @@ namespace MediaBrowser.Controller.Entities foreach (var item in itemsRemoved) { - if (!item.IsFileProtocol) - { - } - - else + if (item.IsFileProtocol) { Logger.LogDebug("Removed item: " + item.Path); @@ -571,14 +568,9 @@ namespace MediaBrowser.Controller.Entities await child.RefreshMetadata(refreshOptions, cancellationToken).ConfigureAwait(false); } - if (recursive) + if (recursive && child is Folder folder) { - var folder = child as Folder; - - if (folder != null) - { - await folder.RefreshMetadataRecursive(folder.Children.ToList(), refreshOptions, true, progress, cancellationToken); - } + await folder.RefreshMetadataRecursive(folder.Children.ToList(), refreshOptions, true, progress, cancellationToken); } } } @@ -782,7 +774,7 @@ namespace MediaBrowser.Controller.Entities { if (query.IncludeItemTypes.Length == 1 && string.Equals(query.IncludeItemTypes[0], typeof(BoxSet).Name, StringComparison.OrdinalIgnoreCase)) { - Logger.Debug("Query requires post-filtering due to BoxSet query"); + Logger.LogDebug("Query requires post-filtering due to BoxSet query"); return true; } @@ -803,44 +795,44 @@ namespace MediaBrowser.Controller.Entities // Filter by Video3DFormat if (query.Is3D.HasValue) { - Logger.Debug("Query requires post-filtering due to Is3D"); + Logger.LogDebug("Query requires post-filtering due to Is3D"); return true; } if (query.HasOfficialRating.HasValue) { - Logger.Debug("Query requires post-filtering due to HasOfficialRating"); + Logger.LogDebug("Query requires post-filtering due to HasOfficialRating"); return true; } if (query.IsPlaceHolder.HasValue) { - Logger.Debug("Query requires post-filtering due to IsPlaceHolder"); + Logger.LogDebug("Query requires post-filtering due to IsPlaceHolder"); return true; } if (query.HasSpecialFeature.HasValue) { - Logger.Debug("Query requires post-filtering due to HasSpecialFeature"); + Logger.LogDebug("Query requires post-filtering due to HasSpecialFeature"); return true; } if (query.HasSubtitles.HasValue) { - Logger.Debug("Query requires post-filtering due to HasSubtitles"); + Logger.LogDebug("Query requires post-filtering due to HasSubtitles"); return true; } if (query.HasTrailer.HasValue) { - Logger.Debug("Query requires post-filtering due to HasTrailer"); + Logger.LogDebug("Query requires post-filtering due to HasTrailer"); return true; } // Filter by VideoType if (query.VideoTypes.Length > 0) { - Logger.Debug("Query requires post-filtering due to VideoTypes"); + Logger.LogDebug("Query requires post-filtering due to VideoTypes"); return true; } @@ -852,19 +844,19 @@ namespace MediaBrowser.Controller.Entities if (!string.IsNullOrEmpty(query.AdjacentTo)) { - Logger.Debug("Query requires post-filtering due to AdjacentTo"); + Logger.LogDebug("Query requires post-filtering due to AdjacentTo"); return true; } if (query.SeriesStatuses.Length > 0) { - Logger.Debug("Query requires post-filtering due to SeriesStatuses"); + Logger.LogDebug("Query requires post-filtering due to SeriesStatuses"); return true; } if (query.AiredDuringSeason.HasValue) { - Logger.Debug("Query requires post-filtering due to AiredDuringSeason"); + Logger.LogDebug("Query requires post-filtering due to AiredDuringSeason"); return true; } @@ -872,7 +864,7 @@ namespace MediaBrowser.Controller.Entities { if (query.IncludeItemTypes.Length == 1 && query.IncludeItemTypes.Contains(typeof(Series).Name)) { - Logger.Debug("Query requires post-filtering due to IsPlayed"); + Logger.LogDebug("Query requires post-filtering due to IsPlayed"); return true; } } @@ -1594,7 +1586,7 @@ namespace MediaBrowser.Controller.Entities } catch (IOException ex) { - Logger.LogError("Error resolving shortcut {0}", ex, i.FullName); + Logger.LogError(ex, "Error resolving shortcut {0}", i.FullName); return null; } }) -- cgit v1.2.3 From ea4c914123ba8279b9d9fcf7d5318e11f7a3da4c Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 20 Dec 2018 13:11:26 +0100 Subject: Fix exception logging --- Emby.Dlna/Didl/DidlBuilder.cs | 8 +- Emby.Dlna/DlnaManager.cs | 6 +- Emby.Dlna/Main/DlnaEntryPoint.cs | 12 +- Emby.Dlna/PlayTo/Device.cs | 6 +- Emby.Dlna/PlayTo/PlayToController.cs | 10 +- Emby.Dlna/PlayTo/PlayToManager.cs | 2 +- Emby.Dlna/Service/BaseControlHandler.cs | 2 +- Emby.Drawing.ImageMagick/ImageMagickEncoder.cs | 4 +- Emby.Drawing.Net/GDIImageEncoder.cs | 2 +- Emby.Drawing.Skia/SkiaEncoder.cs | 2 +- Emby.Drawing/ImageProcessor.cs | 10 +- Emby.Notifications/NotificationManager.cs | 6 +- Emby.Notifications/Notifications.cs | 2 +- Emby.Photos/PhotoProvider.cs | 4 +- .../Activity/ActivityRepository.cs | 228 ++++++++++----------- .../AppBase/BaseConfigurationManager.cs | 2 +- Emby.Server.Implementations/ApplicationHost.cs | 58 +++--- .../Channels/ChannelManager.cs | 6 +- .../Collections/CollectionManager.cs | 2 +- .../Data/BaseSqliteRepository.cs | 2 +- .../Data/SqliteDisplayPreferencesRepository.cs | 2 +- .../Data/SqliteItemRepository.cs | 2 +- .../Data/SqliteUserRepository.cs | 2 +- Emby.Server.Implementations/Devices/DeviceId.cs | 4 +- .../Devices/DeviceManager.cs | 2 +- Emby.Server.Implementations/Dto/DtoService.cs | 12 +- .../EntryPoints/AutomaticRestartEntryPoint.cs | 4 +- .../EntryPoints/ExternalPortForwarding.cs | 6 +- .../EntryPoints/KeepServerAwake.cs | 2 +- .../EntryPoints/LibraryChangedNotifier.cs | 4 +- .../EntryPoints/RecordingNotifier.cs | 2 +- .../EntryPoints/ServerEventNotifier.cs | 12 +- .../EntryPoints/UdpServerEntryPoint.cs | 2 +- .../EntryPoints/UsageEntryPoint.cs | 4 +- .../HttpClientManager/HttpClientManager.cs | 4 +- .../HttpServer/HttpListenerHost.cs | 14 +- .../HttpServer/ResponseFilter.cs | 2 +- .../HttpServer/WebSocketConnection.cs | 4 +- Emby.Server.Implementations/IO/FileRefresher.cs | 8 +- Emby.Server.Implementations/IO/LibraryMonitor.cs | 16 +- .../IO/ManagedFileSystem.cs | 6 +- .../Library/LibraryManager.cs | 33 ++- .../Library/MediaSourceManager.cs | 4 +- Emby.Server.Implementations/Library/UserManager.cs | 14 +- .../Library/Validators/ArtistsValidator.cs | 2 +- .../Library/Validators/GameGenresValidator.cs | 2 +- .../Library/Validators/GenresValidator.cs | 2 +- .../Library/Validators/MusicGenresValidator.cs | 2 +- .../Library/Validators/PeopleValidator.cs | 2 +- .../Library/Validators/StudiosValidator.cs | 2 +- .../LiveTv/EmbyTV/EmbyTV.cs | 52 ++--- .../LiveTv/EmbyTV/EncodedRecorder.cs | 24 +-- .../LiveTv/EmbyTV/ItemDataProvider.cs | 2 +- .../LiveTv/EmbyTV/TimerManager.cs | 6 +- .../LiveTv/Listings/SchedulesDirect.cs | 34 ++- .../LiveTv/LiveTvDtoService.cs | 9 +- .../LiveTv/LiveTvManager.cs | 16 +- .../LiveTv/TunerHosts/BaseTunerHost.cs | 8 +- .../LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs | 2 +- .../TunerHosts/HdHomerun/HdHomerunUdpStream.cs | 84 ++++---- .../LiveTv/TunerHosts/LiveStream.cs | 6 +- .../LiveTv/TunerHosts/SharedHttpStream.cs | 2 +- .../MediaEncoder/EncodingManager.cs | 6 +- .../Networking/NetworkManager.cs | 10 +- Emby.Server.Implementations/News/NewsEntryPoint.cs | 2 +- Emby.Server.Implementations/ResourceFileManager.cs | 2 +- .../ScheduledTasks/PluginUpdateTask.cs | 4 +- .../ScheduledTasks/ScheduledTaskWorker.cs | 10 +- .../ScheduledTasks/Tasks/DeleteCacheFileTask.cs | 8 +- .../Security/AuthenticationRepository.cs | 2 +- .../Security/PluginSecurityManager.cs | 11 +- Emby.Server.Implementations/Udp/UdpServer.cs | 12 +- .../Updates/InstallationManager.cs | 10 +- Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs | 4 +- MediaBrowser.Api/ApiEntryPoint.cs | 20 +- MediaBrowser.Api/Images/ImageService.cs | 2 +- MediaBrowser.Api/Library/LibraryService.cs | 2 +- MediaBrowser.Api/Playback/BaseStreamingService.cs | 4 +- MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 4 +- MediaBrowser.Api/Playback/StreamState.cs | 6 +- MediaBrowser.Api/Playback/TranscodingThrottler.cs | 20 +- MediaBrowser.Api/PluginService.cs | 6 +- MediaBrowser.Api/Subtitles/SubtitleService.cs | 2 +- MediaBrowser.Common/Events/EventHelper.cs | 8 +- MediaBrowser.Controller/Entities/BaseItem.cs | 2 +- .../Entities/CollectionFolder.cs | 2 +- MediaBrowser.Controller/Entities/Folder.cs | 2 +- .../Entities/UserViewBuilder.cs | 10 +- MediaBrowser.Controller/IO/FileData.cs | 2 +- .../MediaEncoding/EncodingJobInfo.cs | 1 - .../Net/BasePeriodicWebSocketListener.cs | 2 +- MediaBrowser.Controller/Session/SessionInfo.cs | 4 +- MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs | 2 +- MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs | 6 +- .../Encoder/EncoderValidator.cs | 14 +- MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs | 4 +- .../Encoder/FontConfigLoader.cs | 12 +- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 34 +-- .../Probing/ProbeResultNormalizer.cs | 4 +- .../Subtitles/SubtitleEncoder.cs | 12 +- MediaBrowser.Providers/Manager/ImageSaver.cs | 4 +- .../Manager/ItemImageProvider.cs | 8 +- MediaBrowser.Providers/Manager/MetadataService.cs | 14 +- MediaBrowser.Providers/Manager/ProviderManager.cs | 20 +- .../MediaInfo/FFProbeVideoInfo.cs | 2 +- .../MediaInfo/SubtitleDownloader.cs | 2 +- .../MediaInfo/SubtitleScheduledTask.cs | 2 +- .../Music/MusicBrainzAlbumProvider.cs | 2 +- .../Subtitles/SubtitleManager.cs | 4 +- MediaBrowser.Providers/TV/SeriesMetadataService.cs | 2 +- .../TV/TheMovieDb/MovieDbSeasonProvider.cs | 2 +- .../TV/TheTVDB/TvdbPrescanTask.cs | 2 +- MediaBrowser.Server.Mono/Program.cs | 2 +- .../SocketSharp/WebSocketSharpListener.cs | 6 +- .../SocketSharp/WebSocketSharpResponse.cs | 2 +- MediaBrowser.WebDashboard/Api/DashboardService.cs | 2 +- MediaBrowser.XbmcMetadata/EntryPoint.cs | 2 +- .../Parsers/MovieNfoParser.cs | 2 +- MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs | 6 +- Mono.Nat/Pmp/PmpNatDevice.cs | 2 +- Mono.Nat/Upnp/Searchers/UpnpSearcher.cs | 2 +- RSSDP/SsdpCommunicationsServer.cs | 6 +- SocketHttpListener/Net/HttpEndPointListener.cs | 4 +- 123 files changed, 561 insertions(+), 603 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index 2cde379ea..6de35b842 100644 --- a/Emby.Dlna/Didl/DidlBuilder.cs +++ b/Emby.Dlna/Didl/DidlBuilder.cs @@ -913,9 +913,9 @@ namespace Emby.Dlna.Didl writer.WriteFullEndElement(); } - catch (XmlException) + catch (XmlException ex) { - _logger.LogError("Error adding xml value: {value}", name); + _logger.LogError(ex, "Error adding xml value: {value}", name); } } @@ -925,9 +925,9 @@ namespace Emby.Dlna.Didl { writer.WriteElementString(prefix, name, namespaceUri, value); } - catch (XmlException) + catch (XmlException ex) { - _logger.LogError("Error adding xml value: {value}", value); + _logger.LogError(ex, "Error adding xml value: {value}", value); } } diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs index 4c5bde6cd..eae4f3271 100644 --- a/Emby.Dlna/DlnaManager.cs +++ b/Emby.Dlna/DlnaManager.cs @@ -58,7 +58,7 @@ namespace Emby.Dlna } catch (Exception ex) { - _logger.LogError("Error extracting DLNA profiles.", ex); + _logger.LogError(ex, "Error extracting DLNA profiles."); } } @@ -198,7 +198,7 @@ namespace Emby.Dlna } catch (ArgumentException ex) { - _logger.LogError("Error evaluating regex pattern {0}", ex, pattern); + _logger.LogError(ex, "Error evaluating regex pattern {0}", pattern); return false; } } @@ -324,7 +324,7 @@ namespace Emby.Dlna } catch (Exception ex) { - _logger.LogError("Error parsing profile file: {0}", ex, path); + _logger.LogError(ex, "Error parsing profile file: {0}", path); return null; } diff --git a/Emby.Dlna/Main/DlnaEntryPoint.cs b/Emby.Dlna/Main/DlnaEntryPoint.cs index 4697287e9..6ab0767a5 100644 --- a/Emby.Dlna/Main/DlnaEntryPoint.cs +++ b/Emby.Dlna/Main/DlnaEntryPoint.cs @@ -185,7 +185,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error starting ssdp handlers", ex); + _logger.LogError(ex, "Error starting ssdp handlers"); } } @@ -202,7 +202,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error starting device discovery", ex); + _logger.LogError(ex, "Error starting device discovery"); } } @@ -215,7 +215,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error stopping device discovery", ex); + _logger.LogError(ex, "Error stopping device discovery"); } } @@ -243,7 +243,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error registering endpoint", ex); + _logger.LogError(ex, "Error registering endpoint"); } } @@ -361,7 +361,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error starting PlayTo manager", ex); + _logger.LogError(ex, "Error starting PlayTo manager"); } } } @@ -379,7 +379,7 @@ namespace Emby.Dlna.Main } catch (Exception ex) { - _logger.LogError("Error disposing PlayTo manager", ex); + _logger.LogError(ex, "Error disposing PlayTo manager"); } _manager = null; } diff --git a/Emby.Dlna/PlayTo/Device.cs b/Emby.Dlna/PlayTo/Device.cs index 1cbb69d1d..a1df90ec0 100644 --- a/Emby.Dlna/PlayTo/Device.cs +++ b/Emby.Dlna/PlayTo/Device.cs @@ -140,7 +140,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error updating device volume info for {0}", ex, Properties.Name); + _logger.LogError(ex, "Error updating device volume info for {0}", Properties.Name); } } @@ -507,7 +507,7 @@ namespace Emby.Dlna.PlayTo if (_disposed) return; - //_logger.LogError("Error updating device info for {0}", ex, Properties.Name); + //_logger.LogError(ex, "Error updating device info for {0}", Properties.Name); _connectFailureCount++; @@ -767,7 +767,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Unable to parse xml {0}", ex, trackString); + _logger.LogError(ex, "Unable to parse xml {0}", trackString); return new Tuple(true, null); } } diff --git a/Emby.Dlna/PlayTo/PlayToController.cs b/Emby.Dlna/PlayTo/PlayToController.cs index e722f83d8..c51f220ef 100644 --- a/Emby.Dlna/PlayTo/PlayToController.cs +++ b/Emby.Dlna/PlayTo/PlayToController.cs @@ -156,7 +156,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error reporting progress", ex); + _logger.LogError(ex, "Error reporting progress"); } } @@ -204,7 +204,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error reporting playback stopped", ex); + _logger.LogError(ex, "Error reporting playback stopped"); } } @@ -223,7 +223,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error reporting progress", ex); + _logger.LogError(ex, "Error reporting progress"); } } @@ -247,7 +247,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error reporting progress", ex); + _logger.LogError(ex, "Error reporting progress"); } } @@ -278,7 +278,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error reporting progress", ex); + _logger.LogError(ex, "Error reporting progress"); } } diff --git a/Emby.Dlna/PlayTo/PlayToManager.cs b/Emby.Dlna/PlayTo/PlayToManager.cs index 0384d8f11..47d00aad5 100644 --- a/Emby.Dlna/PlayTo/PlayToManager.cs +++ b/Emby.Dlna/PlayTo/PlayToManager.cs @@ -121,7 +121,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError("Error creating PlayTo device.", ex); + _logger.LogError(ex, "Error creating PlayTo device."); } finally { diff --git a/Emby.Dlna/Service/BaseControlHandler.cs b/Emby.Dlna/Service/BaseControlHandler.cs index 55fe7fb80..ae094cc2f 100644 --- a/Emby.Dlna/Service/BaseControlHandler.cs +++ b/Emby.Dlna/Service/BaseControlHandler.cs @@ -52,7 +52,7 @@ namespace Emby.Dlna.Service } catch (Exception ex) { - _logger.LogError("Error processing control request", ex); + _logger.LogError(ex, "Error processing control request"); return new ControlErrorHandler().GetResponse(ex); } diff --git a/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs b/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs index f5de730a1..6aac77cf4 100644 --- a/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs +++ b/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs @@ -103,7 +103,7 @@ namespace Emby.Drawing.ImageMagick } catch { - //_logger.LogError("Error loading webp: ", ex); + //_logger.LogError(ex, "Error loading webp: "); _webpAvailable = false; } } @@ -295,7 +295,7 @@ namespace Emby.Drawing.ImageMagick } catch (Exception ex) { - _logger.LogError("Error drawing indicator overlay", ex); + _logger.LogError(ex, "Error drawing indicator overlay"); } } diff --git a/Emby.Drawing.Net/GDIImageEncoder.cs b/Emby.Drawing.Net/GDIImageEncoder.cs index 4391cc618..1639125d3 100644 --- a/Emby.Drawing.Net/GDIImageEncoder.cs +++ b/Emby.Drawing.Net/GDIImageEncoder.cs @@ -214,7 +214,7 @@ namespace Emby.Drawing.Net } catch (Exception ex) { - _logger.LogError("Error drawing indicator overlay", ex); + _logger.LogError(ex, "Error drawing indicator overlay"); } } diff --git a/Emby.Drawing.Skia/SkiaEncoder.cs b/Emby.Drawing.Skia/SkiaEncoder.cs index 185b11f45..7a445a09c 100644 --- a/Emby.Drawing.Skia/SkiaEncoder.cs +++ b/Emby.Drawing.Skia/SkiaEncoder.cs @@ -660,7 +660,7 @@ namespace Emby.Drawing.Skia } catch (Exception ex) { - _logger.LogError("Error drawing indicator overlay", ex); + _logger.LogError(ex, "Error drawing indicator overlay"); } } diff --git a/Emby.Drawing/ImageProcessor.cs b/Emby.Drawing/ImageProcessor.cs index 8cbe5f96a..c417f3785 100644 --- a/Emby.Drawing/ImageProcessor.cs +++ b/Emby.Drawing/ImageProcessor.cs @@ -302,7 +302,7 @@ namespace Emby.Drawing { // Decoder failed to decode it #if DEBUG - _logger.LogError("Error encoding image", ex); + _logger.LogError(ex, "Error encoding image"); #endif // Just spit out the original file if all the options are default return new Tuple(originalImagePath, MimeTypes.GetMimeType(originalImagePath), dateModified); @@ -310,7 +310,7 @@ namespace Emby.Drawing catch (Exception ex) { // If it fails for whatever reason, return the original image - _logger.LogError("Error encoding image", ex); + _logger.LogError(ex, "Error encoding image"); // Just spit out the original file if all the options are default return new Tuple(originalImagePath, MimeTypes.GetMimeType(originalImagePath), dateModified); @@ -603,7 +603,7 @@ namespace Emby.Drawing } catch (Exception ex) { - _logger.LogError("Image conversion failed for {0}", ex, originalImagePath); + _logger.LogError(ex, "Image conversion failed for {originalImagePath}", originalImagePath); } } @@ -660,7 +660,7 @@ namespace Emby.Drawing } catch (Exception ex) { - _logger.LogError("Error enhancing image", ex); + _logger.LogError(ex, "Error enhancing image"); } return new ValueTuple(originalImagePath, dateModified, inputImageSupportsTransparency); @@ -853,7 +853,7 @@ namespace Emby.Drawing } catch (Exception ex) { - _logger.LogError("Error in image enhancer: {0}", ex, i.GetType().Name); + _logger.LogError(ex, "Error in image enhancer: {0}", i.GetType().Name); } } diff --git a/Emby.Notifications/NotificationManager.cs b/Emby.Notifications/NotificationManager.cs index 209bc82aa..fa8fdd9c1 100644 --- a/Emby.Notifications/NotificationManager.cs +++ b/Emby.Notifications/NotificationManager.cs @@ -134,7 +134,7 @@ namespace Emby.Notifications } catch (Exception ex) { - _logger.LogError("Error sending notification to {0}", ex, service.Name); + _logger.LogError(ex, "Error sending notification to {0}", service.Name); } } @@ -146,7 +146,7 @@ namespace Emby.Notifications } catch (Exception ex) { - _logger.LogError("Error in IsEnabledForUser", ex); + _logger.LogError(ex, "Error in IsEnabledForUser"); return false; } } @@ -177,7 +177,7 @@ namespace Emby.Notifications } catch (Exception ex) { - _logger.LogError("Error in GetNotificationTypes", ex); + _logger.LogError(ex, "Error in GetNotificationTypes"); return new List(); } diff --git a/Emby.Notifications/Notifications.cs b/Emby.Notifications/Notifications.cs index ab78f9f91..c09c4d449 100644 --- a/Emby.Notifications/Notifications.cs +++ b/Emby.Notifications/Notifications.cs @@ -273,7 +273,7 @@ namespace Emby.Notifications } catch (Exception ex) { - _logger.LogError("Error sending notification", ex); + _logger.LogError(ex, "Error sending notification"); } } diff --git a/Emby.Photos/PhotoProvider.cs b/Emby.Photos/PhotoProvider.cs index ace3b2afb..726fd1d79 100644 --- a/Emby.Photos/PhotoProvider.cs +++ b/Emby.Photos/PhotoProvider.cs @@ -170,9 +170,9 @@ namespace Emby.Photos } } } - catch (Exception e) + catch (Exception ex) { - _logger.LogError("Image Provider - Error reading image tag for {0}", e, item.Path); + _logger.LogError(ex, "Image Provider - Error reading image tag for {0}", item.Path); } } diff --git a/Emby.Server.Implementations/Activity/ActivityRepository.cs b/Emby.Server.Implementations/Activity/ActivityRepository.cs index a84d6d45f..fcdcb0c2c 100644 --- a/Emby.Server.Implementations/Activity/ActivityRepository.cs +++ b/Emby.Server.Implementations/Activity/ActivityRepository.cs @@ -34,7 +34,7 @@ namespace Emby.Server.Implementations.Activity } catch (Exception ex) { - Logger.LogError("Error loading database file. Will reset and retry.", ex); + Logger.LogError(ex, "Error loading database file. Will reset and retry."); FileSystem.DeleteFile(DbFilePath); @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.Activity } catch (Exception ex) { - Logger.LogError("Error migrating activity log database", ex); + Logger.LogError(ex, "Error migrating activity log database"); } } @@ -87,36 +87,34 @@ namespace Emby.Server.Implementations.Activity } using (WriteLock.Write()) + using (var connection = CreateConnection()) { - using (var connection = CreateConnection()) + connection.RunInTransaction(db => { - connection.RunInTransaction(db => + using (var statement = db.PrepareStatement("insert into ActivityLog (Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) values (@Name, @Overview, @ShortOverview, @Type, @ItemId, @UserId, @DateCreated, @LogSeverity)")) { - using (var statement = db.PrepareStatement("insert into ActivityLog (Name, Overview, ShortOverview, Type, ItemId, UserId, DateCreated, LogSeverity) values (@Name, @Overview, @ShortOverview, @Type, @ItemId, @UserId, @DateCreated, @LogSeverity)")) + statement.TryBind("@Name", entry.Name); + + statement.TryBind("@Overview", entry.Overview); + statement.TryBind("@ShortOverview", entry.ShortOverview); + statement.TryBind("@Type", entry.Type); + statement.TryBind("@ItemId", entry.ItemId); + + if (entry.UserId.Equals(Guid.Empty)) { - statement.TryBind("@Name", entry.Name); - - statement.TryBind("@Overview", entry.Overview); - statement.TryBind("@ShortOverview", entry.ShortOverview); - statement.TryBind("@Type", entry.Type); - statement.TryBind("@ItemId", entry.ItemId); - - if (entry.UserId.Equals(Guid.Empty)) - { - statement.TryBindNull("@UserId"); - } - else - { - statement.TryBind("@UserId", entry.UserId.ToString("N")); - } - - statement.TryBind("@DateCreated", entry.Date.ToDateTimeParamValue()); - statement.TryBind("@LogSeverity", entry.Severity.ToString()); - - statement.MoveNext(); + statement.TryBindNull("@UserId"); } - }, TransactionMode); - } + else + { + statement.TryBind("@UserId", entry.UserId.ToString("N")); + } + + statement.TryBind("@DateCreated", entry.Date.ToDateTimeParamValue()); + statement.TryBind("@LogSeverity", entry.Severity.ToString()); + + statement.MoveNext(); + } + }, TransactionMode); } } @@ -128,132 +126,128 @@ namespace Emby.Server.Implementations.Activity } using (WriteLock.Write()) + using (var connection = CreateConnection()) { - using (var connection = CreateConnection()) + connection.RunInTransaction(db => { - connection.RunInTransaction(db => + using (var statement = db.PrepareStatement("Update ActivityLog set Name=@Name,Overview=@Overview,ShortOverview=@ShortOverview,Type=@Type,ItemId=@ItemId,UserId=@UserId,DateCreated=@DateCreated,LogSeverity=@LogSeverity where Id=@Id")) { - using (var statement = db.PrepareStatement("Update ActivityLog set Name=@Name,Overview=@Overview,ShortOverview=@ShortOverview,Type=@Type,ItemId=@ItemId,UserId=@UserId,DateCreated=@DateCreated,LogSeverity=@LogSeverity where Id=@Id")) + statement.TryBind("@Id", entry.Id); + + statement.TryBind("@Name", entry.Name); + statement.TryBind("@Overview", entry.Overview); + statement.TryBind("@ShortOverview", entry.ShortOverview); + statement.TryBind("@Type", entry.Type); + statement.TryBind("@ItemId", entry.ItemId); + + if (entry.UserId.Equals(Guid.Empty)) { - statement.TryBind("@Id", entry.Id); - - statement.TryBind("@Name", entry.Name); - statement.TryBind("@Overview", entry.Overview); - statement.TryBind("@ShortOverview", entry.ShortOverview); - statement.TryBind("@Type", entry.Type); - statement.TryBind("@ItemId", entry.ItemId); - - if (entry.UserId.Equals(Guid.Empty)) - { - statement.TryBindNull("@UserId"); - } - else - { - statement.TryBind("@UserId", entry.UserId.ToString("N")); - } - - statement.TryBind("@DateCreated", entry.Date.ToDateTimeParamValue()); - statement.TryBind("@LogSeverity", entry.Severity.ToString()); - - statement.MoveNext(); + statement.TryBindNull("@UserId"); } - }, TransactionMode); - } + else + { + statement.TryBind("@UserId", entry.UserId.ToString("N")); + } + + statement.TryBind("@DateCreated", entry.Date.ToDateTimeParamValue()); + statement.TryBind("@LogSeverity", entry.Severity.ToString()); + + statement.MoveNext(); + } + }, TransactionMode); } } public QueryResult GetActivityLogEntries(DateTime? minDate, bool? hasUserId, int? startIndex, int? limit) { using (WriteLock.Read()) + using (var connection = CreateConnection(true)) { - using (var connection = CreateConnection(true)) - { - var commandText = BaseActivitySelectText; - var whereClauses = new List(); + var commandText = BaseActivitySelectText; + var whereClauses = new List(); - if (minDate.HasValue) + if (minDate.HasValue) + { + whereClauses.Add("DateCreated>=@DateCreated"); + } + if (hasUserId.HasValue) + { + if (hasUserId.Value) { - whereClauses.Add("DateCreated>=@DateCreated"); + whereClauses.Add("UserId not null"); } - if (hasUserId.HasValue) + else { - if (hasUserId.Value) - { - whereClauses.Add("UserId not null"); - } - else - { - whereClauses.Add("UserId is null"); - } + whereClauses.Add("UserId is null"); } + } - var whereTextWithoutPaging = whereClauses.Count == 0 ? - string.Empty : - " where " + string.Join(" AND ", whereClauses.ToArray()); - - if (startIndex.HasValue && startIndex.Value > 0) - { - var pagingWhereText = whereClauses.Count == 0 ? - string.Empty : - " where " + string.Join(" AND ", whereClauses.ToArray()); + var whereTextWithoutPaging = whereClauses.Count == 0 ? + string.Empty : + " where " + string.Join(" AND ", whereClauses.ToArray(whereClauses.Count)); - whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM ActivityLog {0} ORDER BY DateCreated DESC LIMIT {1})", - pagingWhereText, - startIndex.Value.ToString(_usCulture))); - } - - var whereText = whereClauses.Count == 0 ? + if (startIndex.HasValue && startIndex.Value > 0) + { + var pagingWhereText = whereClauses.Count == 0 ? string.Empty : " where " + string.Join(" AND ", whereClauses.ToArray()); - commandText += whereText; + whereClauses.Add(string.Format("Id NOT IN (SELECT Id FROM ActivityLog {0} ORDER BY DateCreated DESC LIMIT {1})", + pagingWhereText, + startIndex.Value.ToString(_usCulture))); + } - commandText += " ORDER BY DateCreated DESC"; + var whereText = whereClauses.Count == 0 ? + string.Empty : + " where " + string.Join(" AND ", whereClauses.ToArray(whereClauses.Count)); - if (limit.HasValue) - { - commandText += " LIMIT " + limit.Value.ToString(_usCulture); - } + commandText += whereText; - var statementTexts = new List(); - statementTexts.Add(commandText); - statementTexts.Add("select count (Id) from ActivityLog" + whereTextWithoutPaging); + commandText += " ORDER BY DateCreated DESC"; - return connection.RunInTransaction(db => - { - var list = new List(); - var result = new QueryResult(); + if (limit.HasValue) + { + commandText += " LIMIT " + limit.Value.ToString(_usCulture); + } - var statements = PrepareAllSafe(db, statementTexts).ToList(); + var statementTexts = new List(); + statementTexts.Add(commandText); + statementTexts.Add("select count (Id) from ActivityLog" + whereTextWithoutPaging); + + return connection.RunInTransaction(db => + { + var list = new List(); + var result = new QueryResult(); - using (var statement = statements[0]) + var statements = PrepareAllSafe(db, statementTexts).ToList(); + + using (var statement = statements[0]) + { + if (minDate.HasValue) { - if (minDate.HasValue) - { - statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); - } - - foreach (var row in statement.ExecuteQuery()) - { - list.Add(GetEntry(row)); - } + statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); } - using (var statement = statements[1]) + foreach (var row in statement.ExecuteQuery()) { - if (minDate.HasValue) - { - statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); - } + list.Add(GetEntry(row)); + } + } - result.TotalRecordCount = statement.ExecuteQuery().SelectScalarInt().First(); + using (var statement = statements[1]) + { + if (minDate.HasValue) + { + statement.TryBind("@DateCreated", minDate.Value.ToDateTimeParamValue()); } - result.Items = list.ToArray(); - return result; + result.TotalRecordCount = statement.ExecuteQuery().SelectScalarInt().First(); + } - }, ReadTransactionMode); - } + result.Items = list.ToArray(list.Count); + return result; + + }, ReadTransactionMode); } } diff --git a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs index fdf2a3b73..fddf19893 100644 --- a/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs +++ b/Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs @@ -259,7 +259,7 @@ namespace Emby.Server.Implementations.AppBase } catch (Exception ex) { - Logger.LogError("Error loading configuration file: {0}", ex, path); + Logger.LogError(ex, "Error loading configuration file: {path}", path); return Activator.CreateInstance(configurationType); } diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index aa9b6e82a..888635c9d 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -545,7 +545,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error creating {0}", ex, type.FullName); + Logger.LogError(ex, "Error creating {type}", type.FullName); // Don't blow up in release mode return null; } @@ -625,7 +625,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error loading assembly {0}", ex, file); + Logger.LogError(ex, "Error loading assembly {file}", file); return null; } } @@ -648,7 +648,7 @@ namespace Emby.Server.Implementations /// /// if set to true [manage liftime]. /// IEnumerable{``0}. - public IEnumerable GetExports(bool manageLiftime = true) + public IEnumerable GetExports(bool manageLifetime = true) { var parts = GetExportTypes() .Select(CreateInstanceSafe) @@ -656,7 +656,7 @@ namespace Emby.Server.Implementations .Cast() .ToList(); - if (manageLiftime) + if (manageLifetime) { lock (DisposableParts) { @@ -667,7 +667,7 @@ namespace Emby.Server.Implementations return parts; } - public List> GetExportsWithInfo(bool manageLiftime = true) + public List> GetExportsWithInfo(bool manageLifetime = true) { var parts = GetExportTypes() .Select(i => @@ -683,7 +683,7 @@ namespace Emby.Server.Implementations .Where(i => i != null) .ToList(); - if (manageLiftime) + if (manageLifetime) { lock (DisposableParts) { @@ -693,6 +693,8 @@ namespace Emby.Server.Implementations return parts; } + + // TODO: @bond /* private void SetBaseExceptionMessage() { @@ -760,7 +762,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error in {0}", ex, name); + Logger.LogError(ex, "Error in {name}", name); } Logger.LogInformation("Entry point completed: {0}. Duration: {1} seconds", name, (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture), "ImageInfos"); } @@ -777,7 +779,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error configuring autorun", ex); + Logger.LogError(ex, "Error configuring autorun"); } } @@ -1119,7 +1121,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error setting http limit", ex); + Logger.LogError(ex, "Error setting http limit"); } } @@ -1186,7 +1188,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error loading cert from {0}", ex, certificateLocation); + Logger.LogError(ex, "Error loading cert from {certificateLocation}", certificateLocation); return null; } } @@ -1415,7 +1417,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error getting plugin Id from {0}.", ex, plugin.GetType().FullName); + Logger.LogError(ex, "Error getting plugin Id from {pluginName}.", plugin.GetType().FullName); } } @@ -1427,7 +1429,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error loading plugin {0}", ex, plugin.GetType().FullName); + Logger.LogError(ex, "Error loading plugin {pluginName}", plugin.GetType().FullName); return null; } @@ -1450,11 +1452,11 @@ namespace Emby.Server.Implementations if (path == null) { - Logger.LogInformation("Loading {0}", assembly.FullName); + Logger.LogInformation("Loading {assemblyName}", assembly.FullName); } else { - Logger.LogInformation("Loading {0} from {1}", assembly.FullName, path); + Logger.LogInformation("Loading {assemblyName} from {path}", assembly.FullName, path); } } @@ -1507,7 +1509,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error loading types from assembly", ex); + Logger.LogError(ex, "Error loading types from assembly"); return new List>(); } @@ -1554,7 +1556,7 @@ namespace Emby.Server.Implementations ? "The http server is unable to start due to a Socket error. This can occasionally happen when the operating system takes longer than usual to release the IP bindings from the previous session. This can take up to five minutes. Please try waiting or rebooting the system." : "Error starting Http Server"; - Logger.LogError(msg, ex); + Logger.LogError(ex, msg); if (HttpPort == ServerConfiguration.DefaultHttpPort) { @@ -1570,7 +1572,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error starting http server", ex); + Logger.LogError(ex, "Error starting http server"); throw; } @@ -1605,7 +1607,7 @@ namespace Emby.Server.Implementations // } // catch (Exception ex) // { - // Logger.LogError("Error creating ssl cert", ex); + // Logger.LogError(ex, "Error creating ssl cert"); // return null; // } // } @@ -1710,7 +1712,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error sending server restart notification", ex); + Logger.LogError(ex, "Error sending server restart notification"); } Logger.LogInformation("Calling RestartInternal"); @@ -1845,7 +1847,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error getting version number from {0}", ex, path); + Logger.LogError(ex, "Error getting version number from {path}", path); return new Version(1, 0); } @@ -1930,13 +1932,13 @@ namespace Emby.Server.Implementations if (version < minRequiredVersion) { - Logger.LogInformation("Not loading {0} {1} because the minimum supported version is {2}. Please update to the newer version", filename, version, minRequiredVersion); + Logger.LogInformation("Not loading {filename} {version} because the minimum supported version is {minRequiredVersion}. Please update to the newer version", filename, version, minRequiredVersion); return false; } } catch (Exception ex) { - Logger.LogError("Error getting version number from {0}", ex, path); + Logger.LogError(ex, "Error getting version number from {path}", path); return false; } @@ -2043,7 +2045,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error getting local Ip address information", ex); + Logger.LogError(ex, "Error getting local Ip address information"); } return null; @@ -2251,7 +2253,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error sending server shutdown notification", ex); + Logger.LogError(ex, "Error sending server shutdown notification"); } ShutdownInternal(); @@ -2276,7 +2278,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error authorizing server", ex); + Logger.LogError(ex, "Error authorizing server"); } } @@ -2443,9 +2445,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Console.WriteLine("Error launching url: {0}", url); - Logger.LogError("Error launching url: {0}", ex, url); - + Logger.LogError(ex, "Error launching url: {url}", url); throw; } } @@ -2516,7 +2516,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogError("Error disposing {0}", ex, part.GetType().Name); + Logger.LogError(ex, "Error disposing {0}", part.GetType().Name); } } } diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs index 88dfbd7c1..00da46f30 100644 --- a/Emby.Server.Implementations/Channels/ChannelManager.cs +++ b/Emby.Server.Implementations/Channels/ChannelManager.cs @@ -300,7 +300,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.LogError("Error getting channel information for {0}", ex, channelInfo.Name); + _logger.LogError(ex, "Error getting channel information for {0}", channelInfo.Name); } numComplete++; @@ -848,7 +848,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.LogError("Error writing to channel cache file: {0}", ex, path); + _logger.LogError(ex, "Error writing to channel cache file: {path}", path); } } @@ -911,7 +911,7 @@ namespace Emby.Server.Implementations.Channels } catch (Exception ex) { - _logger.LogError("Error retrieving channel item from database", ex); + _logger.LogError(ex, "Error retrieving channel item from database"); } if (item == null) diff --git a/Emby.Server.Implementations/Collections/CollectionManager.cs b/Emby.Server.Implementations/Collections/CollectionManager.cs index af7c70d7d..d1afb0712 100644 --- a/Emby.Server.Implementations/Collections/CollectionManager.cs +++ b/Emby.Server.Implementations/Collections/CollectionManager.cs @@ -365,7 +365,7 @@ namespace Emby.Server.Implementations.Collections } catch (Exception ex) { - _logger.LogError("Error creating camera uploads library", ex); + _logger.LogError(ex, "Error creating camera uploads library"); } _config.Configuration.CollectionsUpgraded = true; diff --git a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs index 8e59596dd..59776c373 100644 --- a/Emby.Server.Implementations/Data/BaseSqliteRepository.cs +++ b/Emby.Server.Implementations/Data/BaseSqliteRepository.cs @@ -323,7 +323,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.LogError("Error disposing database", ex); + Logger.LogError(ex, "Error disposing database"); } } diff --git a/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs b/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs index 307342135..00e1956cf 100644 --- a/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteDisplayPreferencesRepository.cs @@ -53,7 +53,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.LogError("Error loading database file. Will reset and retry.", ex); + Logger.LogError(ex, "Error loading database file. Will reset and retry."); FileSystem.DeleteFile(DbFilePath); diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs index 7239eec93..0f9770e8f 100644 --- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs @@ -1364,7 +1364,7 @@ namespace Emby.Server.Implementations.Data } catch (SerializationException ex) { - Logger.LogError("Error deserializing item", ex); + Logger.LogError(ex, "Error deserializing item"); } } } diff --git a/Emby.Server.Implementations/Data/SqliteUserRepository.cs b/Emby.Server.Implementations/Data/SqliteUserRepository.cs index 9ac255ec4..d490a481e 100644 --- a/Emby.Server.Implementations/Data/SqliteUserRepository.cs +++ b/Emby.Server.Implementations/Data/SqliteUserRepository.cs @@ -74,7 +74,7 @@ namespace Emby.Server.Implementations.Data } catch (Exception ex) { - Logger.LogError("Error migrating users database", ex); + Logger.LogError(ex, "Error migrating users database"); } } diff --git a/Emby.Server.Implementations/Devices/DeviceId.cs b/Emby.Server.Implementations/Devices/DeviceId.cs index fe953bfb9..90cef5d06 100644 --- a/Emby.Server.Implementations/Devices/DeviceId.cs +++ b/Emby.Server.Implementations/Devices/DeviceId.cs @@ -45,7 +45,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.LogError("Error reading file", ex); + _logger.LogError(ex, "Error reading file"); } return null; @@ -66,7 +66,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.LogError("Error writing to file", ex); + _logger.LogError(ex, "Error writing to file"); } } diff --git a/Emby.Server.Implementations/Devices/DeviceManager.cs b/Emby.Server.Implementations/Devices/DeviceManager.cs index c5c86f5b9..250316211 100644 --- a/Emby.Server.Implementations/Devices/DeviceManager.cs +++ b/Emby.Server.Implementations/Devices/DeviceManager.cs @@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.Devices } catch (Exception ex) { - _logger.LogError("Error creating camera uploads library", ex); + _logger.LogError(ex, "Error creating camera uploads library"); } _config.Configuration.CameraUploadUpgraded = true; diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 424309995..e8d06ec00 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -225,7 +225,7 @@ namespace Emby.Server.Implementations.Dto catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - _logger.LogError("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name); + _logger.LogError(ex, "Error generating PrimaryImageAspectRatio for {itemName}", item.Name); } } @@ -547,7 +547,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.LogError("Error getting {0} image info", ex, type); + _logger.LogError(ex, "Error getting {type} image info", type); return null; } } @@ -560,7 +560,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.LogError("Error getting {0} image info for {1}", ex, image.Type, image.Path); + _logger.LogError(ex, "Error getting {imageType} image info for {path}", image.Type, image.Path); return null; } } @@ -619,7 +619,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.LogError("Error getting person {0}", ex, c); + _logger.LogError(ex, "Error getting person {0}", c); return null; } @@ -1451,7 +1451,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - //_logger.LogError("Failed to determine primary image aspect ratio for {0}", ex, imageInfo.Path); + _logger.LogError(ex, "Failed to determine primary image aspect ratio for {0}", imageInfo.Path); return null; } } @@ -1464,7 +1464,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.LogError("Error in image enhancer: {0}", ex, enhancer.GetType().Name); + _logger.LogError(ex, "Error in image enhancer: {0}", enhancer.GetType().Name); } } diff --git a/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs index cd5fca40d..a0947c87d 100644 --- a/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/AutomaticRestartEntryPoint.cs @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error restarting server", ex); + _logger.LogError(ex, "Error restarting server"); } } } @@ -98,7 +98,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error getting timers", ex); + _logger.LogError(ex, "Error getting timers"); } } diff --git a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index 46fbc94fd..a95e21e1c 100644 --- a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -216,7 +216,7 @@ namespace Emby.Server.Implementations.EntryPoints catch { // Commenting out because users are reporting problems out of our control - //_logger.LogError("Error creating port forwarding rules", ex); + //_logger.LogError(ex, "Error creating port forwarding rules"); } } @@ -253,6 +253,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { + _logger.LogError(ex, "Error creating http port map"); return; } @@ -262,6 +263,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { + _logger.LogError(ex, "Error creating https port map"); } } @@ -309,7 +311,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error stopping NAT Discovery", ex); + _logger.LogError(ex, "Error stopping NAT Discovery"); } } } diff --git a/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs b/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs index a9121ba32..a6dadcef0 100644 --- a/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs +++ b/Emby.Server.Implementations/EntryPoints/KeepServerAwake.cs @@ -49,7 +49,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error resetting system standby timer", ex); + _logger.LogError(ex, "Error resetting system standby timer"); } } diff --git a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs index ff283667b..bb8ef52f1 100644 --- a/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/LibraryChangedNotifier.cs @@ -331,7 +331,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error in GetLibraryUpdateInfo", ex); + _logger.LogError(ex, "Error in GetLibraryUpdateInfo"); return; } @@ -346,7 +346,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error sending LibraryChanged message", ex); + _logger.LogError(ex, "Error sending LibraryChanged message"); } } } diff --git a/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs b/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs index 24cd659e1..0b377dc68 100644 --- a/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/RecordingNotifier.cs @@ -66,7 +66,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Error sending message", ex); + _logger.LogError(ex, "Error sending message"); } } diff --git a/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs b/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs index f6a74c4ec..72dcabab3 100644 --- a/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs +++ b/Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs @@ -156,14 +156,10 @@ namespace Emby.Server.Implementations.EntryPoints try { await _sessionManager.SendMessageToAdminSessions(name, data, CancellationToken.None); - } - catch (ObjectDisposedException) - { - } catch (Exception) { - //Logger.LogError("Error sending message", ex); + } } @@ -172,14 +168,10 @@ namespace Emby.Server.Implementations.EntryPoints try { await _sessionManager.SendMessageToUserSessions(new List { user.Id }, name, data, CancellationToken.None); - } - catch (ObjectDisposedException) - { - } catch (Exception) { - //Logger.LogError("Error sending message", ex); + } } diff --git a/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs index 1bb11ce40..f8e2d32dd 100644 --- a/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - _logger.LogError("Failed to start UDP Server", ex); + _logger.LogError(ex, "Failed to start UDP Server"); } } diff --git a/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs b/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs index ca79262b0..f7542a5e9 100644 --- a/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs +++ b/Emby.Server.Implementations/EntryPoints/UsageEntryPoint.cs @@ -91,7 +91,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - //_logger.LogError("Error sending anonymous usage statistics.", ex); + _logger.LogError(ex, "Error sending anonymous usage statistics."); } } @@ -119,7 +119,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { - //_logger.LogError("Error sending anonymous usage statistics.", ex); + _logger.LogError(ex, "Error sending anonymous usage statistics."); } } diff --git a/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs index b3f8ef884..23dd55b18 100644 --- a/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs +++ b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs @@ -685,7 +685,7 @@ namespace Emby.Server.Implementations.HttpClientManager { if (options.LogErrors) { - _logger.LogError("Error " + webException.Status + " getting response from " + options.Url, webException); + _logger.LogError(webException, "Error {status} getting response from {url}", webException.Status, options.Url); } var exception = new HttpException(webException.Message, webException); @@ -723,7 +723,7 @@ namespace Emby.Server.Implementations.HttpClientManager if (options.LogErrors) { - _logger.LogError("Error getting response from " + options.Url, ex); + _logger.LogError(ex, "Error getting response from {url}", options.Url); } return ex; diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 1d87d0e44..704b7f8a6 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -252,7 +252,7 @@ namespace Emby.Server.Implementations.HttpServer if (logExceptionStackTrace) { - _logger.LogError("Error processing request", ex); + _logger.LogError(ex, "Error processing request"); } else if (logExceptionMessage) { @@ -272,9 +272,9 @@ namespace Emby.Server.Implementations.HttpServer httpRes.ContentType = "text/html"; await Write(httpRes, NormalizeExceptionMessage(ex.Message)).ConfigureAwait(false); } - catch + catch (Exception errorEx) { - //_logger.LogError("Error this.ProcessRequest(context)(Exception while writing error to the response)", errorEx); + _logger.LogError(errorEx, "Error this.ProcessRequest(context)(Exception while writing error to the response)"); } } @@ -713,7 +713,7 @@ namespace Emby.Server.Implementations.HttpServer var pathParts = pathInfo.TrimStart('/').Split('/'); if (pathParts.Length == 0) { - _logger.LogError("Path parts empty for PathInfo: {0}, Url: {1}", pathInfo, httpReq.RawUrl); + _logger.LogError("Path parts empty for PathInfo: {pathInfo}, Url: {RawUrl}", pathInfo, httpReq.RawUrl); return null; } @@ -729,7 +729,7 @@ namespace Emby.Server.Implementations.HttpServer }; } - _logger.LogError("Could not find handler for {0}", pathInfo); + _logger.LogError("Could not find handler for {pathInfo}", pathInfo); return null; } @@ -919,7 +919,7 @@ namespace Emby.Server.Implementations.HttpServer return Task.CompletedTask; } - //_logger.LogDebug("Websocket message received: {0}", result.MessageType); + _logger.LogDebug("Websocket message received: {0}", result.MessageType); var tasks = _webSocketListeners.Select(i => Task.Run(async () => { @@ -929,7 +929,7 @@ namespace Emby.Server.Implementations.HttpServer } catch (Exception ex) { - _logger.LogError("{0} failed processing WebSocket message {1}", ex, i.GetType().Name, result.MessageType ?? string.Empty); + _logger.LogError(ex, "{0} failed processing WebSocket message {1}", i.GetType().Name, result.MessageType ?? string.Empty); } })); diff --git a/Emby.Server.Implementations/HttpServer/ResponseFilter.cs b/Emby.Server.Implementations/HttpServer/ResponseFilter.cs index b1759069c..f38aa5ea0 100644 --- a/Emby.Server.Implementations/HttpServer/ResponseFilter.cs +++ b/Emby.Server.Implementations/HttpServer/ResponseFilter.cs @@ -34,7 +34,7 @@ namespace Emby.Server.Implementations.HttpServer if (exception != null) { - _logger.LogError("Error processing request for {0}", exception, req.RawUrl); + _logger.LogError(exception, "Error processing request for {RawUrl}", req.RawUrl); if (!string.IsNullOrEmpty(exception.Message)) { diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs index 037bdde77..8b5dfd444 100644 --- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs +++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs @@ -180,7 +180,7 @@ namespace Emby.Server.Implementations.HttpServer if (!message.StartsWith("{", StringComparison.OrdinalIgnoreCase)) { // This info is useful sometimes but also clogs up the log - //_lLogError("Received web socket message that is not a json structure: " + message); + _logger.LogDebug("Received web socket message that is not a json structure: {message}", message); return; } @@ -204,7 +204,7 @@ namespace Emby.Server.Implementations.HttpServer } catch (Exception ex) { - _logger.LogError("Error processing web socket message", ex); + _logger.LogError(ex, "Error processing web socket message"); } } diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs index 6087f3cf2..df484d04c 100644 --- a/Emby.Server.Implementations/IO/FileRefresher.cs +++ b/Emby.Server.Implementations/IO/FileRefresher.cs @@ -141,7 +141,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Error processing directory changes", ex); + Logger.LogError(ex, "Error processing directory changes"); } } @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.IO continue; } - Logger.LogInformation(item.Name + " (" + item.Path + ") will be refreshed."); + Logger.LogInformation("{name} ({path}}) will be refreshed.", item.Name, item.Path); try { @@ -172,11 +172,11 @@ namespace Emby.Server.Implementations.IO // For now swallow and log. // Research item: If an IOException occurs, the item may be in a disconnected state (media unavailable) // Should we remove it from it's parent? - Logger.LogError("Error refreshing {0}", ex, item.Name); + Logger.LogError(ex, "Error refreshing {name}", item.Name); } catch (Exception ex) { - Logger.LogError("Error refreshing {0}", ex, item.Name); + Logger.LogError(ex, "Error refreshing {name}", item.Name); } } } diff --git a/Emby.Server.Implementations/IO/LibraryMonitor.cs b/Emby.Server.Implementations/IO/LibraryMonitor.cs index 22d1783ed..ca5810fd6 100644 --- a/Emby.Server.Implementations/IO/LibraryMonitor.cs +++ b/Emby.Server.Implementations/IO/LibraryMonitor.cs @@ -114,7 +114,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Error in ReportFileSystemChanged for {0}", ex, path); + Logger.LogError(ex, "Error in ReportFileSystemChanged for {path}", path); } } } @@ -354,7 +354,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Error watching path: {0}", ex, path); + Logger.LogError(ex, "Error watching path: {path}", path); } }); } @@ -382,7 +382,7 @@ namespace Emby.Server.Implementations.IO { using (watcher) { - Logger.LogInformation("Stopping directory watching for path {0}", watcher.Path); + Logger.LogInformation("Stopping directory watching for path {path}", watcher.Path); watcher.Created -= watcher_Changed; watcher.Deleted -= watcher_Changed; @@ -439,7 +439,7 @@ namespace Emby.Server.Implementations.IO var ex = e.GetException(); var dw = (FileSystemWatcher)sender; - Logger.LogError("Error in Directory watcher for: " + dw.Path, ex); + Logger.LogError(ex, "Error in Directory watcher for: {path}", dw.Path); DisposeWatcher(dw, true); } @@ -461,7 +461,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Exception in ReportFileSystemChanged. Path: {0}", ex, e.FullPath); + Logger.LogError(ex, "Exception in ReportFileSystemChanged. Path: {FullPath}", e.FullPath); } } @@ -487,13 +487,13 @@ namespace Emby.Server.Implementations.IO { if (_fileSystem.AreEqual(i, path)) { - //logger.LogDebug("Ignoring change to {0}", path); + Logger.LogDebug("Ignoring change to {path}", path); return true; } if (_fileSystem.ContainsSubPath(i, path)) { - //logger.LogDebug("Ignoring change to {0}", path); + Logger.LogDebug("Ignoring change to {path}", path); return true; } @@ -503,7 +503,7 @@ namespace Emby.Server.Implementations.IO { if (_fileSystem.AreEqual(parent, path)) { - //logger.LogDebug("Ignoring change to {0}", path); + Logger.LogDebug("Ignoring change to {path}", path); return true; } } diff --git a/Emby.Server.Implementations/IO/ManagedFileSystem.cs b/Emby.Server.Implementations/IO/ManagedFileSystem.cs index 42b9ae23b..8819449b5 100644 --- a/Emby.Server.Implementations/IO/ManagedFileSystem.cs +++ b/Emby.Server.Implementations/IO/ManagedFileSystem.cs @@ -175,7 +175,7 @@ namespace Emby.Server.Implementations.IO path = System.IO.Path.GetFullPath(path); return path; } - catch (ArgumentException ex) + catch (ArgumentException) { return filePath; } @@ -395,7 +395,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Error determining CreationTimeUtc for {0}", ex, info.FullName); + Logger.LogError(ex, "Error determining CreationTimeUtc for {FullName}", info.FullName); return DateTime.MinValue; } } @@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.IO } catch (Exception ex) { - Logger.LogError("Error determining LastAccessTimeUtc for {0}", ex, info.FullName); + Logger.LogError(ex, "Error determining LastAccessTimeUtc for {FullName}", info.FullName); return DateTime.MinValue; } } diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index e1a725c93..451f16bef 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -384,7 +384,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error deleting {0}", ex, metadataPath); + _logger.LogError(ex, "Error deleting {metadataPath}", metadataPath); } } @@ -398,14 +398,13 @@ namespace Emby.Server.Implementations.Library { try { + _logger.LogDebug("Deleting path {path}", fileSystemInfo.FullName); if (fileSystemInfo.IsDirectory) { - _logger.LogDebug("Deleting path {0}", fileSystemInfo.FullName); _fileSystem.DeleteDirectory(fileSystemInfo.FullName, true); } else { - _logger.LogDebug("Deleting path {0}", fileSystemInfo.FullName); _fileSystem.DeleteFile(fileSystemInfo.FullName); } } @@ -489,7 +488,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error in {0} resolving {1}", ex, resolver.GetType().Name, args.Path); + _logger.LogError(ex, "Error in {resolver} resolving {path}", resolver.GetType().Name, args.Path); return null; } } @@ -587,7 +586,7 @@ namespace Emby.Server.Implementations.Library { if (parent != null && parent.IsPhysicalRoot) { - _logger.LogError("Error in GetFilteredFileSystemEntries isPhysicalRoot: {0} IsVf: {1}", ex, isPhysicalRoot, isVf); + _logger.LogError(ex, "Error in GetFilteredFileSystemEntries isPhysicalRoot: {0} IsVf: {1}", isPhysicalRoot, isVf); files = new FileSystemMetadata[] { }; } @@ -713,7 +712,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error resolving path {0}", ex, f.FullName); + _logger.LogError(ex, "Error resolving path {path}", f.FullName); return null; } }).Where(i => i != null); @@ -1148,7 +1147,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error running postscan task", ex); + _logger.LogError(ex, "Error running postscan task"); } numComplete++; @@ -1199,7 +1198,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error resolving shortcut file {0}", ex, i); + _logger.LogError(ex, "Error resolving shortcut file {file}", i); return null; } }) @@ -1650,7 +1649,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error getting intros", ex); + _logger.LogError(ex, "Error getting intros"); return new List(); } @@ -1670,7 +1669,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error getting intro files", ex); + _logger.LogError(ex, "Error getting intro files"); return new List(); } @@ -1693,7 +1692,7 @@ namespace Emby.Server.Implementations.Library if (video == null) { - _logger.LogError("Unable to locate item with Id {0}.", info.ItemId.Value); + _logger.LogError("Unable to locate item with Id {ID}.", info.ItemId.Value); } } else if (!string.IsNullOrEmpty(info.Path)) @@ -1705,7 +1704,7 @@ namespace Emby.Server.Implementations.Library if (video == null) { - _logger.LogError("Intro resolver returned null for {0}.", info.Path); + _logger.LogError("Intro resolver returned null for {path}.", info.Path); } else { @@ -1724,7 +1723,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error resolving path {0}.", ex, info.Path); + _logger.LogError(ex, "Error resolving path {path}.", info.Path); } } else @@ -1873,7 +1872,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error in ItemAdded event handler", ex); + _logger.LogError(ex, "Error in ItemAdded event handler"); } } } @@ -1929,7 +1928,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error in ItemUpdated event handler", ex); + _logger.LogError(ex, "Error in ItemUpdated event handler"); } } } @@ -1965,7 +1964,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error in ItemRemoved event handler", ex); + _logger.LogError(ex, "Error in ItemRemoved event handler"); } } } @@ -2808,7 +2807,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error getting person", ex); + _logger.LogError(ex, "Error getting person"); return null; } diff --git a/Emby.Server.Implementations/Library/MediaSourceManager.cs b/Emby.Server.Implementations/Library/MediaSourceManager.cs index 15673d25d..e5fd28997 100644 --- a/Emby.Server.Implementations/Library/MediaSourceManager.cs +++ b/Emby.Server.Implementations/Library/MediaSourceManager.cs @@ -256,7 +256,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error getting media sources", ex); + _logger.LogError(ex, "Error getting media sources"); return new List(); } } @@ -477,7 +477,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error probing live tv stream", ex); + _logger.LogError(ex, "Error probing live tv stream"); AddMediaInfo(mediaSource, isAudio); } diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs index 35b0ca304..ae3577b7d 100644 --- a/Emby.Server.Implementations/Library/UserManager.cs +++ b/Emby.Server.Implementations/Library/UserManager.cs @@ -392,7 +392,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error authenticating with provider {0}", ex, provider.Name); + _logger.LogError(ex, "Error authenticating with provider {provider}", provider.Name); return false; } @@ -575,7 +575,7 @@ namespace Emby.Server.Implementations.Library catch (Exception ex) { // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions - _logger.LogError("Error generating PrimaryImageAspectRatio for {0}", ex, user.Name); + _logger.LogError(ex, "Error generating PrimaryImageAspectRatio for {user}", user.Name); } } @@ -599,7 +599,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error getting {0} image info for {1}", ex, image.Type, image.Path); + _logger.LogError(ex, "Error getting {imageType} image info for {imagePath}", image.Type, image.Path); return null; } } @@ -775,7 +775,7 @@ namespace Emby.Server.Implementations.Library } catch (IOException ex) { - _logger.LogError("Error deleting file {0}", ex, configPath); + _logger.LogError(ex, "Error deleting file {path}", configPath); } DeleteUserPolicy(user); @@ -1045,7 +1045,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error reading policy file: {0}", ex, path); + _logger.LogError(ex, "Error reading policy file: {path}", path); return GetDefaultPolicy(user); } @@ -1109,7 +1109,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error deleting policy file", ex); + _logger.LogError(ex, "Error deleting policy file"); } } @@ -1144,7 +1144,7 @@ namespace Emby.Server.Implementations.Library } catch (Exception ex) { - _logger.LogError("Error reading policy file: {0}", ex, path); + _logger.LogError(ex, "Error reading policy file: {path}", path); return new UserConfiguration(); } diff --git a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs index 593a9a1ef..1686dc23c 100644 --- a/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/ArtistsValidator.cs @@ -70,7 +70,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error refreshing {0}", ex, name); + _logger.LogError(ex, "Error refreshing {ArtistName}", name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs index ffa5608dd..070777475 100644 --- a/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GameGenresValidator.cs @@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error refreshing {0}", ex, name); + _logger.LogError(ex, "Error refreshing {GenreName}", name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/GenresValidator.cs b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs index e59b747de..775cde299 100644 --- a/Emby.Server.Implementations/Library/Validators/GenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/GenresValidator.cs @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error refreshing {0}", ex, name); + _logger.LogError(ex, "Error refreshing {GenreName}", name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs index ec8568afc..b5ed1c0e6 100644 --- a/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/MusicGenresValidator.cs @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error refreshing {0}", ex, name); + _logger.LogError(ex, "Error refreshing {GenreName}", name); } numComplete++; diff --git a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs index 80e396583..50c7cfbc6 100644 --- a/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/PeopleValidator.cs @@ -78,7 +78,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error validating IBN entry {0}", ex, person); + _logger.LogError(ex, "Error validating IBN entry {person}", person); } // Update progress diff --git a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs index fec989032..1a5ebac54 100644 --- a/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs +++ b/Emby.Server.Implementations/Library/Validators/StudiosValidator.cs @@ -57,7 +57,7 @@ namespace Emby.Server.Implementations.Library.Validators } catch (Exception ex) { - _logger.LogError("Error refreshing {0}", ex, name); + _logger.LogError(ex, "Error refreshing {StudioName}", name); } numComplete++; diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index b9b8802a8..ef96510bd 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -170,7 +170,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error creating virtual folder", ex); + _logger.LogError(ex, "Error creating virtual folder"); } pathsAdded.AddRange(pathsToCreate); @@ -196,7 +196,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error creating recording folders", ex); + _logger.LogError(ex, "Error creating recording folders"); } } @@ -224,7 +224,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error removing virtual folder", ex); + _logger.LogError(ex, "Error removing virtual folder"); } } else @@ -236,14 +236,14 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error removing media path", ex); + _logger.LogError(ex, "Error removing media path"); } } } if (requiresRefresh) { - _libraryManager.ValidateMediaLibrary(new SimpleProgress(), CancellationToken.None); + await _libraryManager.ValidateMediaLibrary(new SimpleProgress(), CancellationToken.None); } } @@ -342,7 +342,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error getting channels", ex); + _logger.LogError(ex, "Error getting channels"); } } @@ -364,7 +364,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error adding metadata", ex); + _logger.LogError(ex, "Error adding metadata"); } } } @@ -595,7 +595,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error getting channels", ex); + _logger.LogError(ex, "Error getting channels"); } } @@ -1217,7 +1217,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error recording stream", ex); + _logger.LogError(ex, "Error recording stream"); } } @@ -1414,16 +1414,16 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV await recorder.Record(directStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false); recordingStatus = RecordingStatus.Completed; - _logger.LogInformation("Recording completed: {0}", recordPath); + _logger.LogInformation("Recording completed: {recordPath}", recordPath); } catch (OperationCanceledException) { - _logger.LogInformation("Recording stopped: {0}", recordPath); + _logger.LogInformation("Recording stopped: {recordPath}", recordPath); recordingStatus = RecordingStatus.Completed; } catch (Exception ex) { - _logger.LogError("Error recording to {0}", ex, recordPath); + _logger.LogError(ex, "Error recording to {recordPath}", recordPath); recordingStatus = RecordingStatus.Error; } @@ -1435,7 +1435,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error closing live stream", ex); + _logger.LogError(ex, "Error closing live stream"); } } @@ -1511,20 +1511,20 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error deleting 0-byte failed recording file {0}", ex, path); + _logger.LogError(ex, "Error deleting 0-byte failed recording file {path}", path); } } } private void TriggerRefresh(string path) { - _logger.LogInformation("Triggering refresh on {0}", path); + _logger.LogInformation("Triggering refresh on {path}", path); var item = GetAffectedBaseItem(_fileSystem.GetDirectoryName(path)); if (item != null) { - _logger.LogInformation("Refreshing recording parent {0}", item.Path); + _logger.LogInformation("Refreshing recording parent {path}", item.Path); _providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(new DirectoryService(_logger, _fileSystem)) { @@ -1642,7 +1642,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error deleting item", ex); + _logger.LogError(ex, "Error deleting item"); } } } @@ -1668,7 +1668,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error deleting recording", ex); + _logger.LogError(ex, "Error deleting recording"); } } } @@ -1780,7 +1780,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error running recording post processor", ex); + _logger.LogError(ex, "Error running recording post processor"); } } @@ -1794,7 +1794,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV var process = (IProcess)sender; try { - _logger.LogInformation("Recording post-processing script completed with exit code {0}", process.ExitCode); + _logger.LogInformation("Recording post-processing script completed with exit code {ExitCode}", process.ExitCode); } catch { @@ -1875,7 +1875,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error saving recording image", ex); + _logger.LogError(ex, "Error saving recording image"); } } @@ -1890,7 +1890,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error saving recording image", ex); + _logger.LogError(ex, "Error saving recording image"); } } @@ -1903,7 +1903,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error saving recording image", ex); + _logger.LogError(ex, "Error saving recording image"); } } @@ -1916,7 +1916,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error saving recording image", ex); + _logger.LogError(ex, "Error saving recording image"); } } } @@ -1984,7 +1984,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error saving nfo", ex); + _logger.LogError(ex, "Error saving nfo"); } } @@ -2814,7 +2814,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error discovering tuner devices", ex); + _logger.LogError(ex, "Error discovering tuner devices"); return new List(); } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs index af5e96c05..4ea83b7ac 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs @@ -269,14 +269,14 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { try { - _logger.LogInformation("Stopping ffmpeg recording process for {0}", _targetPath); + _logger.LogInformation("Stopping ffmpeg recording process for {path}", _targetPath); //process.Kill(); _process.StandardInput.WriteLine("q"); } catch (Exception ex) { - _logger.LogError("Error stopping recording transcoding job for {0}", ex, _targetPath); + _logger.LogError(ex, "Error stopping recording transcoding job for {path}", _targetPath); } if (_hasExited) @@ -286,7 +286,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV try { - _logger.LogInformation("Calling recording process.WaitForExit for {0}", _targetPath); + _logger.LogInformation("Calling recording process.WaitForExit for {path}", _targetPath); if (_process.WaitForExit(10000)) { @@ -295,7 +295,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error waiting for recording process to exit for {0}", ex, _targetPath); + _logger.LogError(ex, "Error waiting for recording process to exit for {path}", _targetPath); } if (_hasExited) @@ -305,13 +305,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV try { - _logger.LogInformation("Killing ffmpeg recording process for {0}", _targetPath); + _logger.LogInformation("Killing ffmpeg recording process for {path}", _targetPath); _process.Kill(); } catch (Exception ex) { - _logger.LogError("Error killing recording transcoding job for {0}", ex, _targetPath); + _logger.LogError(ex, "Error killing recording transcoding job for {path}", _targetPath); } } } @@ -329,7 +329,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV { var exitCode = process.ExitCode; - _logger.LogInformation("FFMpeg recording exited with code {0} for {1}", exitCode, _targetPath); + _logger.LogInformation("FFMpeg recording exited with code {ExitCode} for {path}", exitCode, _targetPath); if (exitCode == 0) { @@ -337,13 +337,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } else { - _taskCompletionSource.TrySetException(new Exception(string.Format("Recording for {0} failed. Exit code {1}", _targetPath, exitCode))); + _taskCompletionSource.TrySetException(new Exception(string.Format("Recording for {path} failed. Exit code {ExitCode}", _targetPath, exitCode))); } } catch { - _logger.LogError("FFMpeg recording exited with an error for {0}.", _targetPath); - _taskCompletionSource.TrySetException(new Exception(string.Format("Recording for {0} failed", _targetPath))); + _logger.LogError("FFMpeg recording exited with an error for {path}.", _targetPath); + _taskCompletionSource.TrySetException(new Exception(string.Format("Recording for {path} failed", _targetPath))); } } @@ -357,7 +357,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error disposing recording log stream", ex); + _logger.LogError(ex, "Error disposing recording log stream"); } _logFileStream = null; @@ -387,7 +387,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error reading ffmpeg recording log", ex); + _logger.LogError(ex, "Error reading ffmpeg recording log"); } } } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs index 813a7a5f9..9f179dc2c 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs @@ -59,7 +59,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - Logger.LogError("Error deserializing {0}", ex, jsonFile); + Logger.LogError(ex, "Error deserializing {jsonFile}", jsonFile); } return new List(); } diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs index f00a54c7f..5618579f6 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs @@ -143,7 +143,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV } catch (Exception ex) { - _logger.LogError("Error scheduling wake timer", ex); + _logger.LogError(ex, "Error scheduling wake timer"); } } @@ -153,12 +153,12 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV if (_timers.TryAdd(item.Id, timer)) { - _logger.LogInformation("Creating recording timer for {0}, {1}. Timer will fire in {2} minutes", item.Id, item.Name, dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); + _logger.LogInformation("Creating recording timer for {id}, {name}. Timer will fire in {minutes} minutes", item.Id, item.Name, dueTime.TotalMinutes.ToString(CultureInfo.InvariantCulture)); } else { timer.Dispose(); - _logger.LogWarning("Timer already exists for item {0}", item.Id); + _logger.LogWarning("Timer already exists for item {id}", item.Id); } } diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs b/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs index 48b4e5833..8fb3af211 100644 --- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs +++ b/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs @@ -527,7 +527,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings } catch (Exception ex) { - _logger.LogError("Error getting image info from schedules direct", ex); + _logger.LogError(ex, "Error getting image info from schedules direct"); return new List(); } @@ -557,35 +557,33 @@ namespace Emby.Server.Implementations.LiveTv.Listings try { using (var httpResponse = await Get(options, false, info).ConfigureAwait(false)) + using (Stream responce = httpResponse.Content) { - using (Stream responce = httpResponse.Content) - { - var root = await _jsonSerializer.DeserializeFromStreamAsync>(responce).ConfigureAwait(false); + var root = await _jsonSerializer.DeserializeFromStreamAsync>(responce).ConfigureAwait(false); - if (root != null) + if (root != null) + { + foreach (ScheduleDirect.Headends headend in root) { - foreach (ScheduleDirect.Headends headend in root) + foreach (ScheduleDirect.Lineup lineup in headend.lineups) { - foreach (ScheduleDirect.Lineup lineup in headend.lineups) + lineups.Add(new NameIdPair { - lineups.Add(new NameIdPair - { - Name = string.IsNullOrWhiteSpace(lineup.name) ? lineup.lineup : lineup.name, - Id = lineup.uri.Substring(18) - }); - } + Name = string.IsNullOrWhiteSpace(lineup.name) ? lineup.lineup : lineup.name, + Id = lineup.uri.Substring(18) + }); } } - else - { - _logger.LogInformation("No lineups available"); - } + } + else + { + _logger.LogInformation("No lineups available"); } } } catch (Exception ex) { - _logger.LogError("Error getting headends", ex); + _logger.LogError(ex, "Error getting headends"); } return lineups; diff --git a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs b/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs index cc8840e14..6fe578715 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs @@ -170,6 +170,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } image = librarySeries.GetImageInfo(ImageType.Backdrop, 0); @@ -185,6 +186,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } } @@ -212,6 +214,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } @@ -230,6 +233,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } } @@ -260,6 +264,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } image = librarySeries.GetImageInfo(ImageType.Backdrop, 0); @@ -275,6 +280,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } } @@ -333,6 +339,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { + _logger.LogError(ex, "Error"); } } } @@ -376,7 +383,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting image info for {0}", ex, info.Name); + _logger.LogError(ex, "Error getting image info for {name}", info.Name); } return null; diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 679f8668b..ee2a9fe4b 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1089,7 +1089,7 @@ namespace Emby.Server.Implementations.LiveTv { cancellationToken.ThrowIfCancellationRequested(); - _logger.LogDebug("Refreshing guide from {0}", service.Name); + _logger.LogDebug("Refreshing guide from {name}", service.Name); try { @@ -1108,7 +1108,7 @@ namespace Emby.Server.Implementations.LiveTv catch (Exception ex) { cleanDatabase = false; - _logger.LogError("Error refreshing channels for service", ex); + _logger.LogError(ex, "Error refreshing channels for service"); } numComplete++; @@ -1171,7 +1171,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting channel information for {0}", ex, channelInfo.Item2.Name); + _logger.LogError(ex, "Error getting channel information for {name}", channelInfo.Item2.Name); } numComplete++; @@ -1300,7 +1300,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting programs for channel {0}", ex, currentChannel.Name); + _logger.LogError(ex, "Error getting programs for channel {name}", currentChannel.Name); } numComplete++; @@ -1645,7 +1645,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting recordings", ex); + _logger.LogError(ex, "Error getting recordings"); return new List>(); } }); @@ -1721,7 +1721,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting recordings", ex); + _logger.LogError(ex, "Error getting recordings"); return new List>(); } }); @@ -1876,7 +1876,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting recordings", ex); + _logger.LogError(ex, "Error getting recordings"); return new List>(); } }); @@ -1922,7 +1922,7 @@ namespace Emby.Server.Implementations.LiveTv } catch (Exception ex) { - _logger.LogError("Error getting recordings", ex); + _logger.LogError(ex, "Error getting recordings"); return new List>(); } }); diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs index 97c33f1fa..ef2010ba6 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs @@ -114,7 +114,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error getting channel list", ex); + Logger.LogError(ex, "Error getting channel list"); if (enableCache) { @@ -161,7 +161,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error getting channels", ex); + Logger.LogError(ex, "Error getting channels"); } } } @@ -201,7 +201,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error getting channels", ex); + Logger.LogError(ex, "Error getting channels"); } } @@ -221,7 +221,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error opening tuner", ex); + Logger.LogError(ex, "Error opening tuner"); } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index a8d1dcaa3..be090df0c 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -303,7 +303,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun } catch (Exception ex) { - Logger.LogError("Error getting tuner info", ex); + Logger.LogError(ex, "Error getting tuner info"); } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs index 933c34124..c781bccbb 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs @@ -56,7 +56,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath)); - Logger.LogInformation("Opening HDHR UDP Live stream from {0}", uri.Host); + Logger.LogInformation("Opening HDHR UDP Live stream from {host}", uri.Host); var remoteAddress = IPAddress.Parse(uri.Host); var embyRemoteAddress = _networkManager.ParseIpAddress(uri.Host); @@ -69,9 +69,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun localAddress = ((IPEndPoint)tcpSocket.LocalEndPoint).Address; tcpSocket.Close(); } - catch (Exception) + catch (Exception ex) { - Logger.LogError("Unable to determine local ip address for Legacy HDHomerun stream."); + Logger.LogError(ex, "Unable to determine local ip address for Legacy HDHomerun stream."); return; } } @@ -87,21 +87,19 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun catch (Exception ex) { using (udpClient) + using (hdHomerunManager) { - using (hdHomerunManager) + if (!(ex is OperationCanceledException)) { - if (!(ex is OperationCanceledException)) - { - Logger.LogError("Error opening live stream:", ex); - } - throw; + Logger.LogError(ex, "Error opening live stream:"); } + throw; } } var taskCompletionSource = new TaskCompletionSource(); - StartStreaming(udpClient, hdHomerunManager, remoteAddress, taskCompletionSource, LiveStreamCancellationTokenSource.Token); + await StartStreaming(udpClient, hdHomerunManager, remoteAddress, taskCompletionSource, LiveStreamCancellationTokenSource.Token); //OpenedMediaSource.Protocol = MediaProtocol.File; //OpenedMediaSource.Path = tempFile; @@ -122,26 +120,24 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun return Task.Run(async () => { using (udpClient) + using (hdHomerunManager) { - using (hdHomerunManager) + try { - try - { - await CopyTo(udpClient, TempFilePath, openTaskCompletionSource, cancellationToken).ConfigureAwait(false); - } - catch (OperationCanceledException ex) - { - Logger.LogInformation("HDHR UDP stream cancelled or timed out from {0}", remoteAddress); - openTaskCompletionSource.TrySetException(ex); - } - catch (Exception ex) - { - Logger.LogError("Error opening live stream:", ex); - openTaskCompletionSource.TrySetException(ex); - } - - EnableStreamSharing = false; + await CopyTo(udpClient, TempFilePath, openTaskCompletionSource, cancellationToken).ConfigureAwait(false); } + catch (OperationCanceledException ex) + { + Logger.LogInformation("HDHR UDP stream cancelled or timed out from {0}", remoteAddress); + openTaskCompletionSource.TrySetException(ex); + } + catch (Exception ex) + { + Logger.LogError(ex, "Error opening live stream:"); + openTaskCompletionSource.TrySetException(ex); + } + + EnableStreamSharing = false; } await DeleteTempFiles(new List { TempFilePath }).ConfigureAwait(false); @@ -166,30 +162,28 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun var resolved = false; using (var source = _socketFactory.CreateNetworkStream(udpClient, false)) + using (var fileStream = FileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None)) { - using (var fileStream = FileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None)) - { - var currentCancellationToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, new CancellationTokenSource(TimeSpan.FromSeconds(30)).Token).Token; + var currentCancellationToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, new CancellationTokenSource(TimeSpan.FromSeconds(30)).Token).Token; - while ((read = await source.ReadAsync(buffer, 0, buffer.Length, currentCancellationToken).ConfigureAwait(false)) != 0) - { - cancellationToken.ThrowIfCancellationRequested(); + while ((read = await source.ReadAsync(buffer, 0, buffer.Length, currentCancellationToken).ConfigureAwait(false)) != 0) + { + cancellationToken.ThrowIfCancellationRequested(); - currentCancellationToken = cancellationToken; + currentCancellationToken = cancellationToken; - read -= RtpHeaderBytes; + read -= RtpHeaderBytes; - if (read > 0) - { - fileStream.Write(buffer, RtpHeaderBytes, read); - } + if (read > 0) + { + fileStream.Write(buffer, RtpHeaderBytes, read); + } - if (!resolved) - { - resolved = true; - DateOpened = DateTime.UtcNow; - Resolve(openTaskCompletionSource); - } + if (!resolved) + { + resolved = true; + DateOpened = DateTime.UtcNow; + Resolve(openTaskCompletionSource); } } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs index b1eda3b7f..4a2b4ebb2 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs @@ -95,7 +95,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error closing live stream", ex); + Logger.LogError(ex, "Error closing live stream"); } } @@ -139,7 +139,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - //Logger.LogError("Error deleting file {0}", ex, path); + Logger.LogError(ex, "Error deleting file {path}", path); failedFiles.Add(path); } } @@ -242,7 +242,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error seeking stream", ex); + Logger.LogError(ex, "Error seeking stream"); } } } diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs index ca53036a4..9b10daba0 100644 --- a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs +++ b/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs @@ -138,7 +138,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts } catch (Exception ex) { - Logger.LogError("Error copying live stream.", ex); + Logger.LogError(ex, "Error copying live stream."); } EnableStreamSharing = false; await DeleteTempFiles(new List { TempFilePath }).ConfigureAwait(false); diff --git a/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs b/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs index 3c7263581..792ffb3c4 100644 --- a/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs +++ b/Emby.Server.Implementations/MediaEncoder/EncodingManager.cs @@ -166,7 +166,7 @@ namespace Emby.Server.Implementations.MediaEncoder } catch (Exception ex) { - _logger.LogError("Error extracting chapter images for {0}", ex, string.Join(",", video.Path)); + _logger.LogError(ex, "Error extracting chapter images for {0}", string.Join(",", video.Path)); success = false; break; } @@ -226,7 +226,7 @@ namespace Emby.Server.Implementations.MediaEncoder foreach (var image in deadImages) { - _logger.LogDebug("Deleting dead chapter image {0}", image); + _logger.LogDebug("Deleting dead chapter image {path}", image); try { @@ -234,7 +234,7 @@ namespace Emby.Server.Implementations.MediaEncoder } catch (IOException ex) { - _logger.LogError("Error deleting {0}.", ex, image); + _logger.LogError(ex, "Error deleting {path}.", image); } } } diff --git a/Emby.Server.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs index 7945680b3..260d20e35 100644 --- a/Emby.Server.Implementations/Networking/NetworkManager.cs +++ b/Emby.Server.Implementations/Networking/NetworkManager.cs @@ -36,7 +36,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.LogError("Error binding to NetworkAddressChanged event", ex); + Logger.LogError(ex, "Error binding to NetworkAddressChanged event"); } try @@ -45,7 +45,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.LogError("Error binding to NetworkChange_NetworkAvailabilityChanged event", ex); + Logger.LogError(ex, "Error binding to NetworkChange_NetworkAvailabilityChanged event"); } } } @@ -372,7 +372,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.LogError("Error resovling hostname", ex); + Logger.LogError(ex, "Error resolving hostname"); } } } @@ -399,7 +399,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.LogError("Error in GetAllNetworkInterfaces", ex); + Logger.LogError(ex, "Error in GetAllNetworkInterfaces"); return new List(); } @@ -428,7 +428,7 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - Logger.LogError("Error querying network interface", ex); + Logger.LogError(ex, "Error querying network interface"); return new List(); } diff --git a/Emby.Server.Implementations/News/NewsEntryPoint.cs b/Emby.Server.Implementations/News/NewsEntryPoint.cs index 95ec2a672..ce6fe6630 100644 --- a/Emby.Server.Implementations/News/NewsEntryPoint.cs +++ b/Emby.Server.Implementations/News/NewsEntryPoint.cs @@ -67,7 +67,7 @@ namespace Emby.Server.Implementations.News } catch (Exception ex) { - _logger.LogError("Error downloading news", ex); + _logger.LogError(ex, "Error downloading news"); } } diff --git a/Emby.Server.Implementations/ResourceFileManager.cs b/Emby.Server.Implementations/ResourceFileManager.cs index b268e00db..04cf0632c 100644 --- a/Emby.Server.Implementations/ResourceFileManager.cs +++ b/Emby.Server.Implementations/ResourceFileManager.cs @@ -59,7 +59,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - _logger.LogError("Error in Path.GetFullPath", ex); + _logger.LogError(ex, "Error in Path.GetFullPath"); } // Don't allow file system access outside of the source folder diff --git a/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs index c77efb5cd..46a7f1f27 100644 --- a/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs @@ -89,11 +89,11 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (HttpException ex) { - _logger.LogError("Error downloading {0}", ex, package.name); + _logger.LogError(ex, "Error downloading {name}", package.name); } catch (IOException ex) { - _logger.LogError("Error updating {0}", ex, package.name); + _logger.LogError(ex, "Error updating {name}", package.name); } // Update progress diff --git a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index 93e02063b..7c2ce4af3 100644 --- a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -146,7 +146,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.LogError("Error deserializing {0}", ex, path); + Logger.LogError(ex, "Error deserializing {path}", path); } _readFromFile = true; } @@ -436,7 +436,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.LogError("Error", ex); + Logger.LogError(ex, "Error"); failureException = ex; @@ -669,7 +669,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.LogError("Error calling CancellationToken.Cancel();", ex); + Logger.LogError(ex, "Error calling CancellationToken.Cancel();"); } } var task = _currentTask; @@ -691,7 +691,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.LogError("Error calling Task.WaitAll();", ex); + Logger.LogError(ex, "Error calling Task.WaitAll();"); } } @@ -704,7 +704,7 @@ namespace Emby.Server.Implementations.ScheduledTasks } catch (Exception ex) { - Logger.LogError("Error calling CancellationToken.Dispose();", ex); + Logger.LogError(ex, "Error calling CancellationToken.Dispose();"); } } if (wassRunning) diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs index efadd7111..c60f59ce4 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs @@ -132,11 +132,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks } catch (UnauthorizedAccessException ex) { - _logger.LogError("Error deleting directory {0}", ex, directory); + _logger.LogError(ex, "Error deleting directory {path}", directory); } catch (IOException ex) { - _logger.LogError("Error deleting directory {0}", ex, directory); + _logger.LogError(ex, "Error deleting directory {path}", directory); } } } @@ -150,11 +150,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks } catch (UnauthorizedAccessException ex) { - _logger.LogError("Error deleting file {0}", ex, path); + _logger.LogError(ex, "Error deleting file {path}", path); } catch (IOException ex) { - _logger.LogError("Error deleting file {0}", ex, path); + _logger.LogError(ex, "Error deleting file {path}", path); } } diff --git a/Emby.Server.Implementations/Security/AuthenticationRepository.cs b/Emby.Server.Implementations/Security/AuthenticationRepository.cs index d2c6ed33b..228d511ce 100644 --- a/Emby.Server.Implementations/Security/AuthenticationRepository.cs +++ b/Emby.Server.Implementations/Security/AuthenticationRepository.cs @@ -83,7 +83,7 @@ namespace Emby.Server.Implementations.Security } catch (Exception ex) { - Logger.LogError("Error migrating authentication database", ex); + Logger.LogError(ex, "Error migrating authentication database"); } } diff --git a/Emby.Server.Implementations/Security/PluginSecurityManager.cs b/Emby.Server.Implementations/Security/PluginSecurityManager.cs index aa0f39030..2b1494c39 100644 --- a/Emby.Server.Implementations/Security/PluginSecurityManager.cs +++ b/Emby.Server.Implementations/Security/PluginSecurityManager.cs @@ -150,18 +150,15 @@ namespace Emby.Server.Implementations.Security SaveAppStoreInfo(parameters); throw; } - catch (HttpException e) + catch (HttpException ex) { - _logger.LogError("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); + _logger.LogError(ex, "Error registering appstore purchase {parameters}", parameters ?? "NO PARMS SENT"); - if (e.StatusCode.HasValue && e.StatusCode.Value == HttpStatusCode.PaymentRequired) - { - } throw new Exception("Error registering store sale"); } - catch (Exception e) + catch (Exception ex) { - _logger.LogError("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT"); + _logger.LogError(ex, "Error registering appstore purchase {parameters}", parameters ?? "NO PARMS SENT"); SaveAppStoreInfo(parameters); //TODO - could create a re-try routine on start-up if this file is there. For now we can handle manually. throw new Exception("Error registering store sale"); diff --git a/Emby.Server.Implementations/Udp/UdpServer.cs b/Emby.Server.Implementations/Udp/UdpServer.cs index 222ec7dd0..8cacc1124 100644 --- a/Emby.Server.Implementations/Udp/UdpServer.cs +++ b/Emby.Server.Implementations/Udp/UdpServer.cs @@ -79,7 +79,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.LogError("Error in OnMessageReceived", ex); + _logger.LogError(ex, "Error in OnMessageReceived"); } } } @@ -171,7 +171,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.LogError("Error receiving udp message", ex); + _logger.LogError(ex, "Error receiving udp message"); } } @@ -193,7 +193,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.LogError("Error receiving udp message", ex); + _logger.LogError(ex, "Error receiving udp message"); } BeginReceive(); @@ -224,7 +224,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.LogError("Error handling UDP message", ex); + _logger.LogError(ex, "Error handling UDP message"); } } @@ -274,7 +274,7 @@ namespace Emby.Server.Implementations.Udp { await _udpClient.SendToAsync(bytes, 0, bytes.Length, remoteEndPoint, cancellationToken).ConfigureAwait(false); - _logger.LogInformation("Udp message sent to {0}", remoteEndPoint); + _logger.LogInformation("Udp message sent to {remoteEndPoint}", remoteEndPoint); } catch (OperationCanceledException) { @@ -282,7 +282,7 @@ namespace Emby.Server.Implementations.Udp } catch (Exception ex) { - _logger.LogError("Error sending message to {0}", ex, remoteEndPoint); + _logger.LogError(ex, "Error sending message to {remoteEndPoint}", remoteEndPoint); } } } diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs index f864b079a..b4d18b69c 100644 --- a/Emby.Server.Implementations/Updates/InstallationManager.cs +++ b/Emby.Server.Implementations/Updates/InstallationManager.cs @@ -499,7 +499,7 @@ namespace Emby.Server.Implementations.Updates } catch (Exception ex) { - _logger.LogError("Package installation failed", ex); + _logger.LogError(ex, "Package installation failed"); lock (CurrentInstallations) { @@ -610,9 +610,9 @@ namespace Emby.Server.Implementations.Updates _fileSystem.WriteAllText(target + ".ver", package.versionStr); } } - catch (IOException e) + catch (IOException ex) { - _logger.LogError("Error attempting to move file from {0} to {1}", e, tempFile, target); + _logger.LogError(ex, "Error attempting to move file from {TempFile} to {TargetFile}", tempFile, target); throw; } @@ -620,10 +620,10 @@ namespace Emby.Server.Implementations.Updates { _fileSystem.DeleteFile(tempFile); } - catch (IOException e) + catch (IOException ex) { // Don't fail because of this - _logger.LogError("Error deleting temp file {0]", e, tempFile); + _logger.LogError(ex, "Error deleting temp file {TempFile}", tempFile); } } diff --git a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs index bbcd1eed3..d96c391fb 100644 --- a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs +++ b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs @@ -87,7 +87,7 @@ namespace Emby.XmlTv.Classes if (string.IsNullOrEmpty(id)) { - //LLogError("No id found for channel row"); + // LogError("No id found for channel row"); // Log.Error(" channel#{0} doesnt contain an id", iChannel); return null; } @@ -130,7 +130,7 @@ namespace Emby.XmlTv.Classes if (string.IsNullOrEmpty(result.DisplayName)) { - //LLogError("No display-name found for channel {0}", id); + // LogError("No display-name found for channel {0}", id); return null; } diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index b51bdf6fd..ed0a0c81a 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -147,7 +147,7 @@ namespace MediaBrowser.Api } catch (Exception ex) { - Logger.LogError("Error deleting encoded media cache", ex); + Logger.LogError(ex, "Error deleting encoded media cache"); } } @@ -557,7 +557,7 @@ namespace MediaBrowser.Api { try { - Logger.LogInformation("Stopping ffmpeg process with q command for {0}", job.Path); + Logger.LogInformation("Stopping ffmpeg process with q command for {path}", job.Path); //process.Kill(); process.StandardInput.WriteLine("q"); @@ -565,13 +565,13 @@ namespace MediaBrowser.Api // Need to wait because killing is asynchronous if (!process.WaitForExit(5000)) { - Logger.LogInformation("Killing ffmpeg process for {0}", job.Path); + Logger.LogInformation("Killing ffmpeg process for {path}", job.Path); process.Kill(); } } catch (Exception ex) { - Logger.LogError("Error killing transcoding job for {0}", ex, job.Path); + Logger.LogError(ex, "Error killing transcoding job for {path}", job.Path); } } } @@ -589,7 +589,7 @@ namespace MediaBrowser.Api } catch (Exception ex) { - Logger.LogError("Error closing live stream for {0}", ex, job.Path); + Logger.LogError(ex, "Error closing live stream for {path}", job.Path); } } } @@ -620,15 +620,15 @@ namespace MediaBrowser.Api { } - catch (IOException) + catch (IOException ex) { - //Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError(ex, "Error deleting partial stream file(s) {path}", path); DeletePartialStreamFiles(path, jobType, retryCount + 1, 500); } - catch + catch (Exception ex) { - //Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError(ex, "Error deleting partial stream file(s) {path}", path); } } @@ -670,7 +670,7 @@ namespace MediaBrowser.Api catch (IOException ex) { e = ex; - //Logger.LogError("Error deleting HLS file {0}", ex, file); + Logger.LogError(ex, "Error deleting HLS file {path}", file); } } diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 28a424512..17c6d5dc5 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -362,7 +362,7 @@ namespace MediaBrowser.Api.Images } catch (Exception ex) { - Logger.LogError("Error getting image information for {0}", ex, info.Path); + Logger.LogError(ex, "Error getting image information for {path}", info.Path); return null; } diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs index cf5014328..ecf3eb7db 100644 --- a/MediaBrowser.Api/Library/LibraryService.cs +++ b/MediaBrowser.Api/Library/LibraryService.cs @@ -1001,7 +1001,7 @@ namespace MediaBrowser.Api.Library } catch (Exception ex) { - Logger.LogError("Error refreshing library", ex); + Logger.LogError(ex, "Error refreshing library"); } }); } diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 37cc8d2d7..af56f6382 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -278,7 +278,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - Logger.LogError("Error starting ffmpeg", ex); + Logger.LogError(ex, "Error starting ffmpeg"); ApiEntryPoint.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType, state); @@ -372,7 +372,7 @@ namespace MediaBrowser.Api.Playback //} //catch (Exception ex) //{ - // Logger.LogError("Error disposing ffmpeg.", ex); + // Logger.LogError(ex, "Error disposing ffmpeg."); //} } diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 7dda91e5a..5361e313c 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -367,7 +367,7 @@ namespace MediaBrowser.Api.Playback.Hls } catch (IOException ex) { - Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError(ex, "Error deleting partial stream file(s) {path}", path); var task = Task.Delay(100); Task.WaitAll(task); @@ -375,7 +375,7 @@ namespace MediaBrowser.Api.Playback.Hls } catch (Exception ex) { - Logger.LogError("Error deleting partial stream file(s) {0}", ex, path); + Logger.LogError(ex, "Error deleting partial stream file(s) {path}", path); } } diff --git a/MediaBrowser.Api/Playback/StreamState.cs b/MediaBrowser.Api/Playback/StreamState.cs index 981a4725d..67fb04d0c 100644 --- a/MediaBrowser.Api/Playback/StreamState.cs +++ b/MediaBrowser.Api/Playback/StreamState.cs @@ -162,7 +162,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.LogError("Error disposing log stream", ex); + _logger.LogError(ex, "Error disposing log stream"); } LogFileStream = null; @@ -179,7 +179,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.LogError("Error disposing TranscodingThrottler", ex); + _logger.LogError(ex, "Error disposing TranscodingThrottler"); } TranscodingThrottler = null; @@ -196,7 +196,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.LogError("Error closing media source", ex); + _logger.LogError(ex, "Error closing media source"); } } } diff --git a/MediaBrowser.Api/Playback/TranscodingThrottler.cs b/MediaBrowser.Api/Playback/TranscodingThrottler.cs index 47f1f777a..5852852f6 100644 --- a/MediaBrowser.Api/Playback/TranscodingThrottler.cs +++ b/MediaBrowser.Api/Playback/TranscodingThrottler.cs @@ -69,7 +69,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.LogError("Error pausing transcoding", ex); + _logger.LogError(ex, "Error pausing transcoding"); } } } @@ -78,7 +78,7 @@ namespace MediaBrowser.Api.Playback { if (_isPaused) { - _logger.LogDebug("Sending unpause command to ffmpeg"); + _logger.LogDebug("Sending resume command to ffmpeg"); try { @@ -87,7 +87,7 @@ namespace MediaBrowser.Api.Playback } catch (Exception ex) { - _logger.LogError("Error unpausing transcoding", ex); + _logger.LogError(ex, "Error resuming transcoding"); } } } @@ -110,11 +110,11 @@ namespace MediaBrowser.Api.Playback if (gap < targetGap) { - //_logger.LogDebug("Not throttling transcoder gap {0} target gap {1}", gap, targetGap); + _logger.LogDebug("Not throttling transcoder gap {0} target gap {1}", gap, targetGap); return false; } - //_logger.LogDebug("Throttling transcoder gap {0} target gap {1}", gap, targetGap); + _logger.LogDebug("Throttling transcoder gap {0} target gap {1}", gap, targetGap); return true; } @@ -135,21 +135,21 @@ namespace MediaBrowser.Api.Playback if (gap < targetGap) { - //_logger.LogDebug("Not throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); + _logger.LogDebug("Not throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); return false; } - //_logger.LogDebug("Throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); + _logger.LogDebug("Throttling transcoder gap {0} target gap {1} bytes downloaded {2}", gap, targetGap, bytesDownloaded); return true; } - catch + catch (Exception ex) { - //_logger.LogError("Error getting output size"); + _logger.LogError(ex, "Error getting output size"); return false; } } - //_logger.LogDebug("No throttle data for " + path); + _logger.LogDebug("No throttle data for " + path); return false; } diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 33e6b2020..1f1bb3614 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -8,13 +8,13 @@ using MediaBrowser.Model.Entities; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Services; using MediaBrowser.Common.Plugins; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Api { @@ -230,9 +230,9 @@ namespace MediaBrowser.Api .ToArray(); } } - catch + catch (Exception ex) { - //Logger.LogError("Error getting plugin list", ex); + Logger.LogError(ex, "Error getting plugin list"); // Play it safe here if (requireAppStoreEnabled) { diff --git a/MediaBrowser.Api/Subtitles/SubtitleService.cs b/MediaBrowser.Api/Subtitles/SubtitleService.cs index 9a149dc92..0e5b0a964 100644 --- a/MediaBrowser.Api/Subtitles/SubtitleService.cs +++ b/MediaBrowser.Api/Subtitles/SubtitleService.cs @@ -278,7 +278,7 @@ namespace MediaBrowser.Api.Subtitles } catch (Exception ex) { - Logger.LogError("Error downloading subtitles", ex); + Logger.LogError(ex, "Error downloading subtitles"); } }); diff --git a/MediaBrowser.Common/Events/EventHelper.cs b/MediaBrowser.Common/Events/EventHelper.cs index 96d0fcae8..04a2270e3 100644 --- a/MediaBrowser.Common/Events/EventHelper.cs +++ b/MediaBrowser.Common/Events/EventHelper.cs @@ -28,7 +28,7 @@ namespace MediaBrowser.Common.Events } catch (Exception ex) { - logger.LogError("Error in event handler", ex); + logger.LogError(ex, "Error in event handler"); } }); } @@ -54,7 +54,7 @@ namespace MediaBrowser.Common.Events } catch (Exception ex) { - logger.LogError("Error in event handler", ex); + logger.LogError(ex, "Error in event handler"); } }); } @@ -77,7 +77,7 @@ namespace MediaBrowser.Common.Events } catch (Exception ex) { - logger.LogError("Error in event handler", ex); + logger.LogError(ex, "Error in event handler"); } } } @@ -100,7 +100,7 @@ namespace MediaBrowser.Common.Events } catch (Exception ex) { - logger.LogError("Error in event handler", ex); + logger.LogError(ex, "Error in event handler"); } } } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 9ba80da69..6393a9f19 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1414,7 +1414,7 @@ namespace MediaBrowser.Controller.Entities } catch (Exception ex) { - Logger.LogError("Error refreshing owned items for {0}", ex, Path ?? Name); + Logger.LogError(ex, "Error refreshing owned items for {path}", Path ?? Name); } } diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs index dbec03a21..7292b166a 100644 --- a/MediaBrowser.Controller/Entities/CollectionFolder.cs +++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs @@ -105,7 +105,7 @@ namespace MediaBrowser.Controller.Entities } catch (Exception ex) { - Logger.LogError("Error loading library options", ex); + Logger.LogError(ex, "Error loading library options"); return new LibraryOptions(); } diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index e9352ce40..dbe30f9a5 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -303,7 +303,7 @@ namespace MediaBrowser.Controller.Entities var id = child.Id; if (dictionary.ContainsKey(id)) { - Logger.LogError("Found folder containing items with duplicate id. Path: {0}, Child Name: {1}", + Logger.LogError("Found folder containing items with duplicate id. Path: {path}, Child Name: {ChildName}", Path ?? Name, child.Path ?? child.Name); } diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 6d5126a44..b50a12d52 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -259,10 +259,9 @@ namespace MediaBrowser.Controller.Entities { return _libraryManager.GetGenre(i); } - catch + catch (Exception ex) { - // Full exception logged at lower levels - _logger.LogError("Error getting genre"); + _logger.LogError(ex, "Error getting genre"); return null; } @@ -383,10 +382,9 @@ namespace MediaBrowser.Controller.Entities { return _libraryManager.GetGenre(i); } - catch + catch (Exception ex) { - // Full exception logged at lower levels - _logger.LogError("Error getting genre"); + _logger.LogError(ex, "Error getting genre"); return null; } diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs index 37d507753..c0cf51ab2 100644 --- a/MediaBrowser.Controller/IO/FileData.cs +++ b/MediaBrowser.Controller/IO/FileData.cs @@ -91,7 +91,7 @@ namespace MediaBrowser.Controller.IO } catch (Exception ex) { - logger.LogError("Error resolving shortcut from {0}", ex, fullName); + logger.LogError(ex, "Error resolving shortcut from {path}", fullName); } } else if (flattenFolderDepth > 0 && isDirectory) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs index 3ec4e3bb7..c8c2367e6 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs @@ -727,7 +727,6 @@ namespace MediaBrowser.Controller.MediaEncoding return count; } - protected void DisposeIsoMount() { if (IsoMount != null) diff --git a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs index bac7e0184..5abbadcc7 100644 --- a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs +++ b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs @@ -232,7 +232,7 @@ namespace MediaBrowser.Controller.Net } catch (Exception ex) { - Logger.LogError("Error sending web socket message {0}", ex, Name); + Logger.LogError(ex, "Error sending web socket message {Name}", Name); DisposeConnection(tuple); } } diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs index 65ff43cf9..98848a440 100644 --- a/MediaBrowser.Controller/Session/SessionInfo.cs +++ b/MediaBrowser.Controller/Session/SessionInfo.cs @@ -337,7 +337,7 @@ namespace MediaBrowser.Controller.Session } catch (Exception ex) { - _logger.LogError("Error reporting playback progress", ex); + _logger.LogError(ex, "Error reporting playback progress"); } } @@ -379,7 +379,7 @@ namespace MediaBrowser.Controller.Session } catch (Exception ex) { - _logger.LogError("Error disposing session controller", ex); + _logger.LogError(ex, "Error disposing session controller"); } } } diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs index 4e7a7a168..9666c8266 100644 --- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs @@ -135,7 +135,7 @@ namespace MediaBrowser.LocalMetadata.Savers } catch (Exception ex) { - Logger.LogError("Error setting hidden attribute on {0} - {1}", path, ex.Message); + Logger.LogError(ex, "Error setting hidden attribute on {path}", path); } } diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs index 1fd34c8fd..187f350b8 100644 --- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs @@ -124,7 +124,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - Logger.LogError("Error starting ffmpeg", ex); + Logger.LogError(ex, "Error starting ffmpeg"); OnTranscodeFailedToStart(encodingJob.OutputFilePath, encodingJob); @@ -179,9 +179,9 @@ namespace MediaBrowser.MediaEncoding.Encoder isSuccesful = exitCode == 0; } - catch + catch (Exception ex) { - Logger.LogError("FFMpeg exited with an error."); + Logger.LogError(ex, "FFMpeg exited with an error."); } if (isSuccesful && !job.IsCancelled) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 9653e561c..fb131f304 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -41,7 +41,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { if (logOutput) { - _logger.LogError("Error validating encoder", ex); + _logger.LogError(ex, "Error validating encoder"); } } @@ -78,9 +78,9 @@ namespace MediaBrowser.MediaEncoding.Encoder { output = GetProcessOutput(encoderAppPath, "-decoders"); } - catch (Exception ) + catch (Exception ex) { - //_logger.LogError("Error detecting available decoders", ex); + _logger.LogError(ex, "Error detecting available decoders"); } var found = new List(); @@ -187,7 +187,7 @@ namespace MediaBrowser.MediaEncoding.Encoder RedirectStandardOutput = true }); - _logger.LogInformation("Running {0} {1}", path, arguments); + _logger.LogInformation("Running {path} {arguments}", path, arguments); using (process) { @@ -199,16 +199,16 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch { - _logger.LogInformation("Killing process {0} {1}", path, arguments); + _logger.LogInformation("Killing process {path} {arguments}", path, arguments); // Hate having to do this try { process.Kill(); } - catch (Exception ex1) + catch (Exception ex) { - _logger.LogError("Error killing process", ex1); + _logger.LogError(ex, "Error killing process"); } throw; diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs index dcaf4a2b1..e97898ac5 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs @@ -81,7 +81,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.LogError("Error disposing log stream", ex); + _logger.LogError(ex, "Error disposing log stream"); } LogFileStream = null; @@ -98,7 +98,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.LogError("Error closing media source", ex); + _logger.LogError(ex, "Error closing media source"); } } } diff --git a/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs b/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs index 2f0161962..d2cf7f395 100644 --- a/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs +++ b/MediaBrowser.MediaEncoding/Encoder/FontConfigLoader.cs @@ -72,12 +72,12 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (HttpException ex) { // Don't let the server crash because of this - _logger.LogError("Error downloading ffmpeg font files", ex); + _logger.LogError(ex, "Error downloading ffmpeg font files"); } catch (Exception ex) { // Don't let the server crash because of this - _logger.LogError("Error writing ffmpeg font files", ex); + _logger.LogError(ex, "Error writing ffmpeg font files"); } } @@ -103,7 +103,7 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (IOException ex) { // Log this, but don't let it fail the operation - _logger.LogError("Error copying file", ex); + _logger.LogError(ex, "Error copying file"); } } @@ -127,7 +127,7 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (Exception ex) { // The core can function without the font file, so handle this - _logger.LogError("Failed to download ffmpeg font file from {0}", ex, url); + _logger.LogError(ex, "Failed to download ffmpeg font file from {url}", url); } } @@ -145,12 +145,12 @@ namespace MediaBrowser.MediaEncoding.Encoder catch (IOException ex) { // Log this, but don't let it fail the operation - _logger.LogError("Error deleting temp file {0}", ex, tempFile); + _logger.LogError(ex, "Error deleting temp file {path}", tempFile); } } private void Extract7zArchive(string archivePath, string targetPath) { - _logger.LogInformation("Extracting {0} to {1}", archivePath, targetPath); + _logger.LogInformation("Extracting {ArchivePath} to {TargetPath}", archivePath, targetPath); _zipClient.ExtractAllFrom7z(archivePath, targetPath, true); } diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 4cd66e5ce..a661d7691 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -102,8 +102,6 @@ namespace MediaBrowser.MediaEncoding.Encoder _originalFFMpegPath = ffMpegPath; _hasExternalEncoder = hasExternalEncoder; - - SetEnvironmentVariable(); } private readonly object _logLock = new object(); @@ -117,7 +115,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.LogError("Error setting FFREPORT environment variable", ex); + _logger.LogError(ex, "Error setting FFREPORT environment variable"); } } } @@ -132,31 +130,11 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - //_logger.LogError("Error setting FFREPORT environment variable", ex); + _logger.LogError(ex, "Error setting FFREPORT environment variable"); } } } - private void SetEnvironmentVariable() - { - try - { - //_environmentInfo.SetProcessEnvironmentVariable("FFREPORT", "file=program-YYYYMMDD-HHMMSS.txt:level=32"); - } - catch (Exception ex) - { - _logger.LogError("Error setting FFREPORT environment variable", ex); - } - try - { - //_environmentInfo.SetUserEnvironmentVariable("FFREPORT", "file=program-YYYYMMDD-HHMMSS.txt:level=32"); - } - catch (Exception ex) - { - _logger.LogError("Error setting FFREPORT environment variable", ex); - } - } - public string EncoderLocationType { get @@ -649,9 +627,9 @@ namespace MediaBrowser.MediaEncoding.Encoder { throw; } - catch + catch (Exception ex) { - _logger.LogError("I-frame image extraction failed, will attempt standard way. Input: {0}", inputArgument); + _logger.LogError(ex, "I-frame image extraction failed, will attempt standard way. Input: {arguments}", inputArgument); } } @@ -999,7 +977,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.LogError("Error in WaitForExit", ex); + _logger.LogError(ex, "Error in WaitForExit"); } try @@ -1010,7 +988,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } catch (Exception ex) { - _logger.LogError("Error killing process", ex); + _logger.LogError(ex, "Error killing process"); } } diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index c3cf61dc1..d0ccef2f8 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -1351,11 +1351,11 @@ namespace MediaBrowser.MediaEncoding.Probing { video.Timestamp = GetMpegTimestamp(video.Path); - _logger.LogDebug("Video has {0} timestamp", video.Timestamp); + _logger.LogDebug("Video has {timestamp} timestamp", video.Timestamp); } catch (Exception ex) { - _logger.LogError("Error extracting timestamp info from {0}", ex, video.Path); + _logger.LogError(ex, "Error extracting timestamp info from {path}", video.Path); video.Timestamp = null; } } diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs index a3e0f89a9..43f775392 100644 --- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs +++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs @@ -431,7 +431,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.LogError("Error starting ffmpeg", ex); + _logger.LogError(ex, "Error starting ffmpeg"); throw; } @@ -448,7 +448,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.LogError("Error killing subtitle conversion process", ex); + _logger.LogError(ex, "Error killing subtitle conversion process"); } } @@ -471,7 +471,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (IOException ex) { - _logger.LogError("Error deleting converted subtitle {0}", ex, outputPath); + _logger.LogError(ex, "Error deleting converted subtitle {0}", outputPath); } } } @@ -561,7 +561,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.LogError("Error starting ffmpeg", ex); + _logger.LogError(ex, "Error starting ffmpeg"); throw; } @@ -578,7 +578,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (Exception ex) { - _logger.LogError("Error killing subtitle extraction process", ex); + _logger.LogError(ex, "Error killing subtitle extraction process"); } } @@ -603,7 +603,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles } catch (IOException ex) { - _logger.LogError("Error deleting extracted subtitle {0}", ex, outputPath); + _logger.LogError(ex, "Error deleting extracted subtitle {0}", outputPath); } } else if (!_fileSystem.FileExists(outputPath)) diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs index c1cb07a0e..6790f9b33 100644 --- a/MediaBrowser.Providers/Manager/ImageSaver.cs +++ b/MediaBrowser.Providers/Manager/ImageSaver.cs @@ -211,7 +211,7 @@ namespace MediaBrowser.Providers.Manager if (retry) { - _logger.LogError("IOException saving to {0}. {2}. Will retry saving to {1}", path, retryPath, ex.Message); + _logger.LogError(ex, "IOException saving to {0}. Will retry saving to {1}", path, retryPath); } else { @@ -271,7 +271,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error setting hidden attribute on {0} - {1}", path, ex.Message); + _logger.LogError(ex, "Error setting hidden attribute on {0}", path); } } diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs index a11ccd6d6..fc30374b3 100644 --- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs +++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs @@ -173,7 +173,7 @@ namespace MediaBrowser.Providers.Manager catch (Exception ex) { result.ErrorMessage = ex.Message; - _logger.LogError("Error in {0}", ex, provider.Name); + _logger.LogError(ex, "Error in {provider}", provider.Name); } } @@ -310,7 +310,7 @@ namespace MediaBrowser.Providers.Manager catch (Exception ex) { result.ErrorMessage = ex.Message; - _logger.LogError("Error in {0}", ex, provider.Name); + _logger.LogError(ex, "Error in {provider}", provider.Name); } } @@ -577,7 +577,7 @@ namespace MediaBrowser.Providers.Manager } catch (IOException ex) { - _logger.LogError("Error examining images", ex); + _logger.LogError(ex, "Error examining images"); } } @@ -586,7 +586,7 @@ namespace MediaBrowser.Providers.Manager } catch (HttpException ex) { - // Sometimes providers send back bad url's. Just move onto the next image + // Sometimes providers send back bad urls. Just move onto the next image if (ex.StatusCode.HasValue && ex.StatusCode.Value == HttpStatusCode.NotFound) { continue; diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 5d607f5d6..e26004923 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -46,7 +46,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - Logger.LogError("Error getting file {0}", ex, path); + Logger.LogError(ex, "Error getting file {path}", path); return null; } } @@ -96,7 +96,7 @@ namespace MediaBrowser.Providers.Manager localImagesFailed = true; if (!(item is IItemByName)) { - Logger.LogError("Error validating images for {0}", ex, item.Path ?? item.Name ?? "Unknown name"); + Logger.LogError(ex, "Error validating images for {0}", item.Path ?? item.Name ?? "Unknown name"); } } @@ -268,7 +268,7 @@ namespace MediaBrowser.Providers.Manager // } // catch (Exception ex) // { - // Logger.LogError("Error in AddPersonImage", ex); + // Logger.LogError(ex, "Error in AddPersonImage"); // } //} @@ -767,7 +767,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - Logger.LogError("Error in {0}", ex, provider.Name); + Logger.LogError(ex, "Error in {provider}", provider.Name); // If a local provider fails, consider that a failure refreshResult.ErrorMessage = ex.Message; @@ -839,7 +839,7 @@ namespace MediaBrowser.Providers.Manager catch (Exception ex) { refreshResult.ErrorMessage = ex.Message; - Logger.LogError("Error in {0}", ex, provider.Name); + Logger.LogError(ex, "Error in {provider}", provider.Name); } } @@ -891,7 +891,7 @@ namespace MediaBrowser.Providers.Manager { refreshResult.Failures++; refreshResult.ErrorMessage = ex.Message; - Logger.LogError("Error in {0}", ex, provider.Name); + Logger.LogError(ex, "Error in {provider}", provider.Name); } } @@ -951,7 +951,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - Logger.LogError("Error in {0}.HasChanged", ex, changeMonitor.GetType().Name); + Logger.LogError(ex, "Error in {0}.HasChanged", changeMonitor.GetType().Name); return false; } } diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index e3b23ce33..8a9aae117 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -144,7 +144,7 @@ namespace MediaBrowser.Providers.Manager return service.RefreshMetadata(item, options, cancellationToken); } - _logger.LogError("Unable to find a metadata service for item of type " + item.GetType().Name); + _logger.LogError("Unable to find a metadata service for item of type {TypeName}", item.GetType().Name); return Task.FromResult(ItemUpdateType.None); } @@ -250,7 +250,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("{0} failed in GetImageInfos for type {1}", ex, provider.GetType().Name, item.GetType().Name); + _logger.LogError(ex, "{0} failed in GetImageInfos for type {1}", provider.GetType().Name, item.GetType().Name); return new List(); } } @@ -400,7 +400,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("{0} failed in Supports for type {1}", ex, provider.GetType().Name, item.GetType().Name); + _logger.LogError(ex, "{0} failed in Supports for type {1}", provider.GetType().Name, item.GetType().Name); return false; } } @@ -642,7 +642,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error in {0} GetSavePath", ex, saver.Name); + _logger.LogError(ex, "Error in {0} GetSavePath", saver.Name); continue; } @@ -653,7 +653,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error in metadata saver", ex); + _logger.LogError(ex, "Error in metadata saver"); } finally { @@ -668,7 +668,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error in metadata saver", ex); + _logger.LogError(ex, "Error in metadata saver"); } } } @@ -731,7 +731,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error in {0}.IsEnabledFor", ex, saver.Name); + _logger.LogError(ex, "Error in {0}.IsEnabledFor", saver.Name); return false; } } @@ -876,7 +876,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error in {0}.Suports", ex, i.GetType().Name); + _logger.LogError(ex, "Error in {0}.Suports", i.GetType().Name); return false; } }); @@ -1070,7 +1070,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error refreshing item", ex); + _logger.LogError(ex, "Error refreshing item"); } } @@ -1147,7 +1147,7 @@ namespace MediaBrowser.Providers.Manager } catch (Exception ex) { - _logger.LogError("Error refreshing library", ex); + _logger.LogError(ex, "Error refreshing library"); } } diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs index 4dc3849d9..c2fe392ab 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs @@ -342,7 +342,7 @@ namespace MediaBrowser.Providers.MediaInfo } catch (Exception ex) { - _logger.LogError("Error getting BDInfo", ex); + _logger.LogError(ex, "Error getting BDInfo"); return null; } } diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs index 8d5f20317..4c66f2b0a 100644 --- a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs +++ b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs @@ -176,7 +176,7 @@ namespace MediaBrowser.Providers.MediaInfo } catch (Exception ex) { - _logger.LogError("Error downloading subtitles", ex); + _logger.LogError(ex, "Error downloading subtitles"); } return false; diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs b/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs index 4fa6a0521..81abedeb9 100644 --- a/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs +++ b/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs @@ -148,7 +148,7 @@ namespace MediaBrowser.Providers.MediaInfo } catch (Exception ex) { - _logger.LogError("Error downloading subtitles for {0}", ex, video.Path); + _logger.LogError(ex, "Error downloading subtitles for {Path}", video.Path); } // Update progress diff --git a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs index da0f40a5a..0dbc43313 100644 --- a/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs +++ b/MediaBrowser.Providers/Music/MusicBrainzAlbumProvider.cs @@ -774,7 +774,7 @@ namespace MediaBrowser.Providers.Music } catch (Exception ex) { - _logger.LogError("Error getting music brainz info", ex); + _logger.LogError(ex, "Error getting music brainz info"); } } } diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs index 2006067b3..2cf737511 100644 --- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs +++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs @@ -101,7 +101,7 @@ namespace MediaBrowser.Providers.Subtitles } catch (Exception ex) { - _logger.LogError("Error downloading subtitles from {0}", ex, provider.Name); + _logger.LogError(ex, "Error downloading subtitles from {Provider}", provider.Name); } } return new RemoteSubtitleInfo[] { }; @@ -119,7 +119,7 @@ namespace MediaBrowser.Providers.Subtitles } catch (Exception ex) { - _logger.LogError("Error downloading subtitles from {0}", ex, i.Name); + _logger.LogError(ex, "Error downloading subtitles from {0}", i.Name); return new RemoteSubtitleInfo[] { }; } }); diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs index a943e49c0..1cb06efdf 100644 --- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs +++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs @@ -46,7 +46,7 @@ namespace MediaBrowser.Providers.TV } catch (Exception ex) { - Logger.LogError("Error in DummySeasonProvider", ex); + Logger.LogError(ex, "Error in DummySeasonProvider"); } } diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeasonProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeasonProvider.cs index 8b09ee2fc..217dab663 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeasonProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeasonProvider.cs @@ -97,7 +97,7 @@ namespace MediaBrowser.Providers.TV } catch (HttpException ex) { - _logger.LogError("No metadata found for {0}", seasonNumber.Value); + _logger.LogError(ex, "No metadata found for {0}", seasonNumber.Value); if (ex.StatusCode.HasValue && ex.StatusCode.Value == HttpStatusCode.NotFound) { diff --git a/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs index 6bad5b925..8bab59595 100644 --- a/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs +++ b/MediaBrowser.Providers/TV/TheTVDB/TvdbPrescanTask.cs @@ -358,7 +358,7 @@ namespace MediaBrowser.Providers.TV } catch (HttpException ex) { - _logger.LogError("Error updating tvdb series id {0}, language {1}", ex, seriesId, language); + _logger.LogError(ex, "Error updating tvdb series id {ID}, language {Language}", seriesId, language); // Already logged at lower levels, but don't fail the whole operation, unless timed out // We have to fail this to make it run again otherwise new episode data could potentially be missing diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 9c6ee4dd2..cf61b79fe 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -270,7 +270,7 @@ namespace MediaBrowser.Server.Mono } catch (Exception ex) { - _logger.LogError("Error getting unix name", ex); + _logger.LogError(ex, "Error getting unix name"); } _unixName = uname; } diff --git a/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpListener.cs b/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpListener.cs index e8557d1f9..993863e8c 100644 --- a/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpListener.cs +++ b/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpListener.cs @@ -114,7 +114,7 @@ namespace EmbyServer.SocketSharp } catch (Exception ex) { - _logger.LogError("Error processing request", ex); + _logger.LogError(ex, "Error processing request"); httpReq = httpReq ?? GetRequest(context); return ErrorHandler(ex, httpReq, true, true); @@ -176,7 +176,7 @@ namespace EmbyServer.SocketSharp } catch (Exception ex) { - _logger.LogError("AcceptWebSocketAsync error", ex); + _logger.LogError(ex, "AcceptWebSocketAsync error"); ctx.Response.StatusCode = 500; ctx.Response.Close(); } @@ -206,7 +206,7 @@ namespace EmbyServer.SocketSharp } catch (Exception ex) { - _logger.LogError("Error closing web socket response", ex); + _logger.LogError(ex, "Error closing web socket response"); } } diff --git a/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpResponse.cs b/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpResponse.cs index d299c64ef..08fa4cbd6 100644 --- a/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpResponse.cs +++ b/MediaBrowser.Server.Mono/SocketSharp/WebSocketSharpResponse.cs @@ -112,7 +112,7 @@ namespace EmbyServer.SocketSharp } catch (Exception ex) { - _logger.LogError("Error in HttpListenerResponseWrapper: " + ex.Message, ex); + _logger.LogError(ex, "Error in HttpListenerResponseWrapper"); } } } diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 0327929a9..58d02ef04 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -245,7 +245,7 @@ namespace MediaBrowser.WebDashboard.Api } catch (Exception ex) { - _logger.LogError("Error getting plugin information from {0}", ex, p.GetType().Name); + _logger.LogError(ex, "Error getting plugin information from {Plugin}", p.GetType().Name); return null; } }) diff --git a/MediaBrowser.XbmcMetadata/EntryPoint.cs b/MediaBrowser.XbmcMetadata/EntryPoint.cs index 7461e952d..dac3f4967 100644 --- a/MediaBrowser.XbmcMetadata/EntryPoint.cs +++ b/MediaBrowser.XbmcMetadata/EntryPoint.cs @@ -72,7 +72,7 @@ namespace MediaBrowser.XbmcMetadata } catch (Exception ex) { - _logger.LogError("Error saving metadata for {0}", ex, item.Path ?? item.Name); + _logger.LogError(ex, "Error saving metadata for {path}", item.Path ?? item.Name); } } } diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs index 27f128fce..e6b4eea1c 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs @@ -81,7 +81,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers } catch (Exception ex) { - Logger.LogError("Error parsing set node", ex); + Logger.LogError(ex, "Error parsing set node"); } } } diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs index 74e714362..131ce80d5 100644 --- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs +++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs @@ -230,7 +230,7 @@ namespace MediaBrowser.XbmcMetadata.Savers } catch (Exception ex) { - Logger.LogError("Error setting hidden attribute on {path} - {ex}", path, ex.Message); + Logger.LogError(ex, "Error setting hidden attribute on {path}", path); } } @@ -283,7 +283,7 @@ namespace MediaBrowser.XbmcMetadata.Savers } catch (XmlException ex) { - Logger.LogError("Error reading existng nfo", ex); + Logger.LogError(ex, "Error reading existing nfo"); } writer.WriteEndElement(); @@ -1000,7 +1000,7 @@ namespace MediaBrowser.XbmcMetadata.Savers } catch (Exception ex) { - logger.LogError("Error reading existing xml tags from {0}.", ex, path); + logger.LogError(ex, "Error reading existing xml tags from {path}.", path); return; } diff --git a/Mono.Nat/Pmp/PmpNatDevice.cs b/Mono.Nat/Pmp/PmpNatDevice.cs index 99d030207..fbf3032d4 100644 --- a/Mono.Nat/Pmp/PmpNatDevice.cs +++ b/Mono.Nat/Pmp/PmpNatDevice.cs @@ -198,7 +198,7 @@ namespace Mono.Nat.Pmp } catch (Exception ex) { - _logger.LogError("Error in CreatePortMapListen", ex); + _logger.LogError(ex, "Error in CreatePortMapListen"); return; } } diff --git a/Mono.Nat/Upnp/Searchers/UpnpSearcher.cs b/Mono.Nat/Upnp/Searchers/UpnpSearcher.cs index e9e47a91e..bcf358d1c 100644 --- a/Mono.Nat/Upnp/Searchers/UpnpSearcher.cs +++ b/Mono.Nat/Upnp/Searchers/UpnpSearcher.cs @@ -90,7 +90,7 @@ namespace Mono.Nat } catch (Exception ex) { - _logger.LogError("Error decoding device response", ex); + _logger.LogError(ex, "Error decoding device response"); } } diff --git a/RSSDP/SsdpCommunicationsServer.cs b/RSSDP/SsdpCommunicationsServer.cs index 921ef3e51..65ec0ca71 100644 --- a/RSSDP/SsdpCommunicationsServer.cs +++ b/RSSDP/SsdpCommunicationsServer.cs @@ -131,7 +131,7 @@ namespace Rssdp.Infrastructure } catch (Exception ex) { - _logger.LogError("Error in BeginListeningForBroadcasts", ex); + _logger.LogError(ex, "Error in BeginListeningForBroadcasts"); } } } @@ -197,7 +197,7 @@ namespace Rssdp.Infrastructure } catch (Exception ex) { - _logger.LogError("Error sending socket message from {0} to {1}", ex, socket.LocalIPAddress.ToString(), destination.ToString()); + _logger.LogError(ex, "Error sending socket message from {0} to {1}", socket.LocalIPAddress.ToString(), destination.ToString()); } } @@ -376,7 +376,7 @@ namespace Rssdp.Infrastructure } catch (Exception ex) { - _logger.LogError("Error in CreateSsdpUdpSocket. IPAddress: {0}", ex, address); + _logger.LogError(ex, "Error in CreateSsdpUdpSocket. IPAddress: {0}", address); } } } diff --git a/SocketHttpListener/Net/HttpEndPointListener.cs b/SocketHttpListener/Net/HttpEndPointListener.cs index 867012d05..fb093314c 100644 --- a/SocketHttpListener/Net/HttpEndPointListener.cs +++ b/SocketHttpListener/Net/HttpEndPointListener.cs @@ -173,7 +173,7 @@ namespace SocketHttpListener.Net { HttpEndPointListener epl = (HttpEndPointListener)acceptEventArg.UserToken; - epl._logger.LogError("Error in socket.AcceptAsync", ex); + epl._logger.LogError(ex, "Error in socket.AcceptAsync"); } } @@ -238,7 +238,7 @@ namespace SocketHttpListener.Net } catch (Exception ex) { - epl._logger.LogError("Error in ProcessAccept", ex); + epl._logger.LogError(ex, "Error in ProcessAccept"); TryClose(accepted); epl.Accept(); -- cgit v1.2.3 From 79d18cf5a5fde7594eb17247f920a54d8978a81c Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 20 Dec 2018 13:39:58 +0100 Subject: Clean up some catch statements --- Emby.Dlna/Didl/DidlBuilder.cs | 4 +- Emby.Dlna/DlnaManager.cs | 4 +- Emby.Dlna/PlayTo/Device.cs | 4 +- Emby.Drawing.ImageMagick/ImageMagickEncoder.cs | 4 +- Emby.Drawing/ImageProcessor.cs | 10 +-- Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs | 72 +++++++++------------- Emby.Server.Implementations/ApplicationHost.cs | 2 +- Emby.Server.Implementations/Dto/DtoService.cs | 2 +- .../EntryPoints/ExternalPortForwarding.cs | 1 + Emby.Server.Implementations/IO/SharpCifs/Config.cs | 2 +- .../IO/SharpCifs/Dcerpc/DcerpcHandle.cs | 2 +- .../IO/SharpCifs/Netbios/Name.cs | 2 +- .../IO/SharpCifs/Netbios/NameServiceClient.cs | 8 ++- .../IO/SharpCifs/Smb/NtlmContext.cs | 2 +- 14 files changed, 56 insertions(+), 63 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index 6de35b842..7af48ae17 100644 --- a/Emby.Dlna/Didl/DidlBuilder.cs +++ b/Emby.Dlna/Didl/DidlBuilder.cs @@ -1070,9 +1070,9 @@ namespace Emby.Dlna.Didl { tag = _imageProcessor.GetImageCacheTag(item, type); } - catch + catch (Exception ex) { - + _logger.LogError(ex, "Error getting image cache tag"); } int? width = imageInfo.Width; diff --git a/Emby.Dlna/DlnaManager.cs b/Emby.Dlna/DlnaManager.cs index eae4f3271..48a33757b 100644 --- a/Emby.Dlna/DlnaManager.cs +++ b/Emby.Dlna/DlnaManager.cs @@ -198,7 +198,7 @@ namespace Emby.Dlna } catch (ArgumentException ex) { - _logger.LogError(ex, "Error evaluating regex pattern {0}", pattern); + _logger.LogError(ex, "Error evaluating regex pattern {Pattern}", pattern); return false; } } @@ -324,7 +324,7 @@ namespace Emby.Dlna } catch (Exception ex) { - _logger.LogError(ex, "Error parsing profile file: {0}", path); + _logger.LogError(ex, "Error parsing profile file: {Path}", path); return null; } diff --git a/Emby.Dlna/PlayTo/Device.cs b/Emby.Dlna/PlayTo/Device.cs index a1df90ec0..13bed6b2f 100644 --- a/Emby.Dlna/PlayTo/Device.cs +++ b/Emby.Dlna/PlayTo/Device.cs @@ -140,7 +140,7 @@ namespace Emby.Dlna.PlayTo } catch (Exception ex) { - _logger.LogError(ex, "Error updating device volume info for {0}", Properties.Name); + _logger.LogError(ex, "Error updating device volume info for {DeviceName}", Properties.Name); } } @@ -507,7 +507,7 @@ namespace Emby.Dlna.PlayTo if (_disposed) return; - //_logger.LogError(ex, "Error updating device info for {0}", Properties.Name); + _logger.LogError(ex, "Error updating device info for {DeviceName}", Properties.Name); _connectFailureCount++; diff --git a/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs b/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs index 6aac77cf4..5de8ac383 100644 --- a/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs +++ b/Emby.Drawing.ImageMagick/ImageMagickEncoder.cs @@ -101,9 +101,9 @@ namespace Emby.Drawing.ImageMagick wand.SaveImage(tmpPath); } } - catch + catch (Exception ex) { - //_logger.LogError(ex, "Error loading webp: "); + _logger.LogError(ex, "Error loading webp"); _webpAvailable = false; } } diff --git a/Emby.Drawing/ImageProcessor.cs b/Emby.Drawing/ImageProcessor.cs index c417f3785..6a67be56d 100644 --- a/Emby.Drawing/ImageProcessor.cs +++ b/Emby.Drawing/ImageProcessor.cs @@ -646,16 +646,16 @@ namespace Emby.Drawing var cacheGuid = GetImageCacheTag(item, image, enhancers); // Enhance if we have enhancers - var ehnancedImageInfo = await GetEnhancedImageInternal(originalImagePath, item, imageType, imageIndex, enhancers, cacheGuid, cancellationToken).ConfigureAwait(false); + var enhancedImageInfo = await GetEnhancedImageInternal(originalImagePath, item, imageType, imageIndex, enhancers, cacheGuid, cancellationToken).ConfigureAwait(false); - var ehnancedImagePath = ehnancedImageInfo.Item1; + var enhancedImagePath = enhancedImageInfo.Item1; // If the path changed update dateModified - if (!string.Equals(ehnancedImagePath, originalImagePath, StringComparison.OrdinalIgnoreCase)) + if (!string.Equals(enhancedImagePath, originalImagePath, StringComparison.OrdinalIgnoreCase)) { - var treatmentRequiresTransparency = ehnancedImageInfo.Item2; + var treatmentRequiresTransparency = enhancedImageInfo.Item2; - return new ValueTuple(ehnancedImagePath, _fileSystem.GetLastWriteTimeUtc(ehnancedImagePath), treatmentRequiresTransparency); + return new ValueTuple(enhancedImagePath, _fileSystem.GetLastWriteTimeUtc(enhancedImagePath), treatmentRequiresTransparency); } } catch (Exception ex) diff --git a/Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs b/Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs index e6986ddcb..faaed482a 100644 --- a/Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs +++ b/Emby.IsoMounting/IsoMounter/LinuxIsoManager.cs @@ -260,35 +260,29 @@ namespace IsoMounter } ); - try { - + try + { process.Start(); //StreamReader outputReader = process.StandardOutput.; //StreamReader errorReader = process.StandardError; _logger.LogDebug( - "[{0}] Standard output from process is [{1}].", + "[{Name}] Standard output from process is [{Error}].", Name, process.StandardOutput.ReadToEnd() ); _logger.LogDebug( - "[{0}] Standard error from process is [{1}].", + "[{Name}] Standard error from process is [{Error}].", Name, process.StandardError.ReadToEnd() ); - - } catch (Exception ex) { - + } + catch (Exception ex) + { processFailed = true; - - _logger.LogDebug( - "[{0}] Unhandled exception executing command, exception is [{1}].", - Name, - ex.Message - ); - + _logger.LogDebug(ex, "[{Name}] Unhandled exception executing command.", Name); } if (!processFailed && process.ExitCode == 0) { @@ -309,13 +303,13 @@ namespace IsoMounter if (!string.IsNullOrEmpty(isoPath)) { _logger.LogInformation( - "[{0}] Attempting to mount [{1}].", + "[{Name}] Attempting to mount [{Path}].", Name, isoPath ); _logger.LogDebug( - "[{0}] ISO will be mounted at [{1}].", + "[{Name}] ISO will be mounted at [{Path}].", Name, mountPoint ); @@ -326,11 +320,16 @@ namespace IsoMounter } - try { + try + { FileSystem.CreateDirectory(mountPoint); - } catch (UnauthorizedAccessException) { + } + catch (UnauthorizedAccessException) + { throw new IOException("Unable to create mount point(Permission denied) for " + isoPath); - } catch (Exception) { + } + catch (Exception) + { throw new IOException("Unable to create mount point for " + isoPath); } @@ -365,18 +364,13 @@ namespace IsoMounter Name ); - try { - + try + { FileSystem.DeleteDirectory(mountPoint, false); - - } catch (Exception ex) { - - _logger.LogInformation( - "[{0}] Unhandled exception removing mount point, exception is [{1}].", - Name, - ex.Message - ); - + } + catch (Exception ex) + { + _logger.LogInformation(ex, "[{Name}] Unhandled exception removing mount point.", Name); } mountedISO = null; @@ -439,20 +433,14 @@ namespace IsoMounter } - try { - + try + { FileSystem.DeleteDirectory(mount.MountedPath, false); - - } catch (Exception ex) { - - _logger.LogInformation( - "[{0}] Unhandled exception removing mount point, exception is [{1}].", - Name, - ex.Message - ); - } - + catch (Exception ex) + { + _logger.LogInformation(ex, "[{Name}] Unhandled exception removing mount point.", Name); + } } #endregion diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 888635c9d..d4b740d71 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -2214,7 +2214,7 @@ namespace Emby.Server.Implementations } catch (Exception ex) { - Logger.LogDebug("Ping test result to {0}. Success: {1} {2}", apiUrl, false, ex.Message); + Logger.LogDebug(ex, "Ping test result to {0}. Success: {1}", apiUrl, false); _validAddressResults.AddOrUpdate(apiUrl, false, (k, v) => false); return false; diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index e8d06ec00..7871d3fb3 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -619,7 +619,7 @@ namespace Emby.Server.Implementations.Dto } catch (Exception ex) { - _logger.LogError(ex, "Error getting person {0}", c); + _logger.LogError(ex, "Error getting person {Name}", c); return null; } diff --git a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index a95e21e1c..6cd867921 100644 --- a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -166,6 +166,7 @@ namespace Emby.Server.Implementations.EntryPoints } catch (Exception ex) { + _logger.LogError(ex, "Error"); return; } diff --git a/Emby.Server.Implementations/IO/SharpCifs/Config.cs b/Emby.Server.Implementations/IO/SharpCifs/Config.cs index 3fd0e5bd6..324a9c494 100644 --- a/Emby.Server.Implementations/IO/SharpCifs/Config.cs +++ b/Emby.Server.Implementations/IO/SharpCifs/Config.cs @@ -89,7 +89,7 @@ namespace SharpCifs { Runtime.GetBytesForString(string.Empty, DefaultOemEncoding); } - catch (Exception ex) + catch (Exception) { if (_log.Level >= 2) { diff --git a/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs index 786b0ac12..e82af2b0c 100644 --- a/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs +++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs @@ -153,7 +153,7 @@ namespace SharpCifs.Dcerpc DcerpcMessage bind = new DcerpcBind(Binding, this); Sendrecv(bind); } - catch (IOException ioe) + catch (IOException) { State = 0; throw; diff --git a/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs index 6c37d57a4..15ae494be 100644 --- a/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs +++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs @@ -130,7 +130,7 @@ namespace SharpCifs.Netbios { name = Runtime.GetStringForBytes(tmp, 0, length).Trim(); } - catch (Exception ex) + catch (Exception) { } diff --git a/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs index 01700e64a..0d7840a64 100644 --- a/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs +++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs @@ -117,8 +117,9 @@ namespace SharpCifs.Netbios { Baddr = Config.GetInetAddress("jcifs.netbios.baddr", Extensions.GetAddressByName("255.255.255.255")); } - catch (Exception ex) + catch (Exception) { + } _sndBuf = new byte[SndBufSize]; @@ -302,7 +303,10 @@ namespace SharpCifs.Netbios } } - catch (TimeoutException) { } + catch (TimeoutException) + { + + } catch (Exception ex) { if (_log.Level > 2) diff --git a/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs index 44266f974..aa52ee1db 100644 --- a/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs +++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs @@ -192,7 +192,7 @@ namespace SharpCifs.Smb catch (Exception e) { throw new SmbException(e.Message, e); - } + } } default: -- cgit v1.2.3 From b1ccd6bad9904ab4fb2de02d71db0a7540b98479 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Fri, 28 Dec 2018 01:11:04 +0100 Subject: Fix build post GPL change --- Emby.Server.Implementations/ApplicationHost.cs | 10 +---- .../Library/ConnectManager.cs | 46 ---------------------- .../Entities/Audio/MusicArtist.cs | 8 ++-- .../Entities/Audio/MusicGenre.cs | 5 +-- MediaBrowser.Controller/Entities/BaseItem.cs | 9 ----- MediaBrowser.Controller/Entities/GameGenre.cs | 5 +-- MediaBrowser.Controller/Entities/Genre.cs | 5 +-- MediaBrowser.Controller/Entities/Person.cs | 5 +-- MediaBrowser.Controller/Entities/Studio.cs | 5 +-- MediaBrowser.Controller/Entities/TV/Episode.cs | 1 + MediaBrowser.Controller/Entities/Year.cs | 3 +- .../Net/BasePeriodicWebSocketListener.cs | 5 +-- .../Providers/DirectoryService.cs | 3 -- 13 files changed, 19 insertions(+), 91 deletions(-) delete mode 100644 Emby.Server.Implementations/Library/ConnectManager.cs (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index d4b740d71..77edc8ea1 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -48,13 +48,11 @@ using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Chapters; using MediaBrowser.Controller.Collections; using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Connect; using MediaBrowser.Controller.Devices; using MediaBrowser.Controller.Dlna; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.MediaEncoding; @@ -80,7 +78,6 @@ using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Events; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.IO; -using Microsoft.Extensions.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Net; using MediaBrowser.Model.News; @@ -117,6 +114,7 @@ using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certif using MediaBrowser.Controller.Authentication; using System.Diagnostics; using ServiceStack.Text.Jsv; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations { @@ -942,11 +940,7 @@ namespace Emby.Server.Implementations AuthenticationRepository = GetAuthenticationRepository(); RegisterSingleInstance(AuthenticationRepository); -<<<<<<< HEAD - UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager, CryptographyProvider); -======= - UserManager = new UserManager(LoggerFactory.CreateLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this, JsonSerializer, FileSystemManager, CryptographyProvider); ->>>>>>> Use Microsoft.Extensions.Logging abstraction + UserManager = new UserManager(LoggerFactory.CreateLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager, CryptographyProvider); RegisterSingleInstance(UserManager); LibraryManager = new LibraryManager(this, Logger, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager); diff --git a/Emby.Server.Implementations/Library/ConnectManager.cs b/Emby.Server.Implementations/Library/ConnectManager.cs deleted file mode 100644 index c05385673..000000000 --- a/Emby.Server.Implementations/Library/ConnectManager.cs +++ /dev/null @@ -1,46 +0,0 @@ -using MediaBrowser.Common.Events; -using MediaBrowser.Common.Net; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Connect; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Dto; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Net; -using MediaBrowser.Controller.Persistence; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Configuration; -using MediaBrowser.Model.Connect; -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Events; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Serialization; -using MediaBrowser.Model.Users; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Model.Cryptography; -using MediaBrowser.Model.IO; -using MediaBrowser.Controller.Authentication; -using MediaBrowser.Controller.Security; -using MediaBrowser.Controller.Devices; -using MediaBrowser.Controller.Session; -using MediaBrowser.Controller.Plugins; - -namespace Emby.Server.Implementations.Library -{ - public class ConnectManager : IConnectManager - { - public ConnectManager() - { - } - - } -} diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index 82dece84b..2774dc944 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Providers; +using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Users; @@ -9,9 +8,8 @@ using System.Linq; using MediaBrowser.Model.Serialization; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities.Audio { @@ -245,7 +243,7 @@ namespace MediaBrowser.Controller.Entities.Audio var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } } diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs index d60ce83ad..ec68eaf8b 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using MediaBrowser.Model.Serialization; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities.Audio { @@ -119,7 +118,7 @@ namespace MediaBrowser.Controller.Entities.Audio var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 6393a9f19..e80fe3387 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1,11 +1,8 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Channels; -using MediaBrowser.Controller.Collections; using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; @@ -16,23 +13,17 @@ using MediaBrowser.Model.Users; using System; using System.Collections.Generic; using System.Globalization; -using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; - -using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Controller.IO; -using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Sorting; using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Globalization; using MediaBrowser.Model.IO; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.Providers; -using MediaBrowser.Model.Querying; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.MediaInfo; using Microsoft.Extensions.Logging; diff --git a/MediaBrowser.Controller/Entities/GameGenre.cs b/MediaBrowser.Controller/Entities/GameGenre.cs index 63493ad4a..ba178d3c3 100644 --- a/MediaBrowser.Controller/Entities/GameGenre.cs +++ b/MediaBrowser.Controller/Entities/GameGenre.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using MediaBrowser.Model.Serialization; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities { @@ -102,7 +101,7 @@ namespace MediaBrowser.Controller.Entities var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Entities/Genre.cs b/MediaBrowser.Controller/Entities/Genre.cs index 94a5984df..57ffe2744 100644 --- a/MediaBrowser.Controller/Entities/Genre.cs +++ b/MediaBrowser.Controller/Entities/Genre.cs @@ -2,9 +2,8 @@ using MediaBrowser.Controller.Entities.Audio; using System; using System.Collections.Generic; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities { @@ -114,7 +113,7 @@ namespace MediaBrowser.Controller.Entities var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs index 64d775094..5c35a7411 100644 --- a/MediaBrowser.Controller/Entities/Person.cs +++ b/MediaBrowser.Controller/Entities/Person.cs @@ -1,11 +1,10 @@ using MediaBrowser.Controller.Providers; using System; using System.Collections.Generic; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Extensions; using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities { @@ -137,7 +136,7 @@ namespace MediaBrowser.Controller.Entities var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs index 29f617539..c076cd680 100644 --- a/MediaBrowser.Controller/Entities/Studio.cs +++ b/MediaBrowser.Controller/Entities/Studio.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using MediaBrowser.Model.Serialization; -using MediaBrowser.Common.Extensions; using MediaBrowser.Controller.Extensions; -using MediaBrowser.Model.Extensions; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities { @@ -115,7 +114,7 @@ namespace MediaBrowser.Controller.Entities var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index cdf0214d3..3a3a902a3 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -7,6 +7,7 @@ using System.Globalization; using System.Linq; using MediaBrowser.Model.IO; using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities.TV { diff --git a/MediaBrowser.Controller/Entities/Year.cs b/MediaBrowser.Controller/Entities/Year.cs index 81e030cea..8e3cd0b70 100644 --- a/MediaBrowser.Controller/Entities/Year.cs +++ b/MediaBrowser.Controller/Entities/Year.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Globalization; using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.Logging; namespace MediaBrowser.Controller.Entities { @@ -121,7 +122,7 @@ namespace MediaBrowser.Controller.Entities var newPath = GetRebasedPath(); if (!string.Equals(Path, newPath, StringComparison.Ordinal)) { - Logger.Debug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); + Logger.LogDebug("{0} path has changed from {1} to {2}", GetType().Name, Path, newPath); return true; } return base.RequiresRefresh(); diff --git a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs index 5abbadcc7..31ec149bf 100644 --- a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs +++ b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Net; +using MediaBrowser.Model.Net; using MediaBrowser.Model.Threading; using System.Collections.Generic; using System.Globalization; @@ -9,8 +8,6 @@ using System.Threading.Tasks; using System.Threading; using System; using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Net; -using MediaBrowser.Model.Threading; namespace MediaBrowser.Controller.Net { diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index 27d65a3e2..9bb2f5bed 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -1,10 +1,7 @@ using Microsoft.Extensions.Logging; using System; -using System.Collections.Concurrent; using System.Collections.Generic; -using System.IO; using System.Linq; -using MediaBrowser.Controller.IO; using MediaBrowser.Model.IO; namespace MediaBrowser.Controller.Providers -- cgit v1.2.3 From 88aa5da3545962170a6074de8a5d1e5f4dd57aad Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Fri, 28 Dec 2018 23:20:52 +0100 Subject: Fix build due to rebase --- Emby.Server.Implementations/Activity/ActivityRepository.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/Activity/ActivityRepository.cs b/Emby.Server.Implementations/Activity/ActivityRepository.cs index fcdcb0c2c..91a4a5fd4 100644 --- a/Emby.Server.Implementations/Activity/ActivityRepository.cs +++ b/Emby.Server.Implementations/Activity/ActivityRepository.cs @@ -184,7 +184,7 @@ namespace Emby.Server.Implementations.Activity var whereTextWithoutPaging = whereClauses.Count == 0 ? string.Empty : - " where " + string.Join(" AND ", whereClauses.ToArray(whereClauses.Count)); + " where " + string.Join(" AND ", whereClauses.ToArray()); if (startIndex.HasValue && startIndex.Value > 0) { @@ -199,7 +199,7 @@ namespace Emby.Server.Implementations.Activity var whereText = whereClauses.Count == 0 ? string.Empty : - " where " + string.Join(" AND ", whereClauses.ToArray(whereClauses.Count)); + " where " + string.Join(" AND ", whereClauses.ToArray()); commandText += whereText; @@ -244,7 +244,7 @@ namespace Emby.Server.Implementations.Activity result.TotalRecordCount = statement.ExecuteQuery().SelectScalarInt().First(); } - result.Items = list.ToArray(list.Count); + result.Items = list.ToArray(); return result; }, ReadTransactionMode); -- cgit v1.2.3 From bbe2ca412b215e4d0b7ac6744e004c448fc80854 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Sun, 30 Dec 2018 12:27:28 +0100 Subject: Fix build error --- Emby.Server.Implementations/ApplicationHost.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 77edc8ea1..a4a24dda0 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -2066,7 +2066,7 @@ namespace Emby.Server.Implementations } catch(Exception ex) { - Logger.ErrorException("Error getting WAN Ip address information", ex); + Logger.LogError(ex, "Error getting WAN Ip address information"); } return null; } -- cgit v1.2.3 From 4c95aee52eda793d1e013164cc0fde9eb609f894 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Sun, 30 Dec 2018 22:49:09 +0100 Subject: Fix logging in XmlTvListingsProvider --- .../LiveTv/Listings/XmlTvListingsProvider.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Emby.Server.Implementations') diff --git a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs index a8609ce2d..4d7c7fef4 100644 --- a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs +++ b/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs @@ -15,7 +15,7 @@ using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.Dto; using MediaBrowser.Model.IO; using MediaBrowser.Model.LiveTv; -using MediaBrowser.Model.Logging; +using Microsoft.Extensions.Logging; namespace Jellyfin.Server.Implementations.LiveTv.Listings { @@ -58,7 +58,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings private async Task GetXml(string path, CancellationToken cancellationToken) { - _logger.Info("xmltv path: {0}", path); + _logger.LogInformation("xmltv path: {path}", path); if (!path.StartsWith("http", StringComparison.OrdinalIgnoreCase)) { @@ -72,7 +72,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings return UnzipIfNeeded(path, cacheFile); } - _logger.Info("Downloading xmltv listings from {0}", path); + _logger.LogInformation("Downloading xmltv listings from {path}", path); string tempFile = await _httpClient.GetTempFile(new HttpRequestOptions { @@ -109,7 +109,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings } catch (Exception ex) { - _logger.ErrorException("Error extracting from gz file {0}", ex, file); + _logger.LogError(ex, "Error extracting from gz file {file}", file); } try @@ -119,7 +119,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings } catch (Exception ex) { - _logger.ErrorException("Error extracting from zip file {0}", ex, file); + _logger.LogError(ex, "Error extracting from zip file {file}", file); } } @@ -177,10 +177,10 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings } }*/ - _logger.Debug("Getting xmltv programs for channel {0}", channelId); + _logger.LogDebug("Getting xmltv programs for channel {id}", channelId); string path = await GetXml(info.Path, cancellationToken).ConfigureAwait(false); - _logger.Debug("Opening XmlTvReader for {0}", path); + _logger.LogDebug("Opening XmlTvReader for {path}", path); var reader = new XmlTvReader(path, GetLanguage(info)); return reader.GetProgrammes(channelId, startDateUtc, endDateUtc, cancellationToken) @@ -273,7 +273,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings { // In theory this should never be called because there is always only one lineup string path = await GetXml(info.Path, CancellationToken.None).ConfigureAwait(false); - _logger.Debug("Opening XmlTvReader for {0}", path); + _logger.LogDebug("Opening XmlTvReader for {path}", path); var reader = new XmlTvReader(path, GetLanguage(info)); IEnumerable results = reader.GetChannels(); @@ -285,7 +285,7 @@ namespace Jellyfin.Server.Implementations.LiveTv.Listings { // In theory this should never be called because there is always only one lineup string path = await GetXml(info.Path, cancellationToken).ConfigureAwait(false); - _logger.Debug("Opening XmlTvReader for {0}", path); + _logger.LogDebug("Opening XmlTvReader for {path}", path); var reader = new XmlTvReader(path, GetLanguage(info)); IEnumerable results = reader.GetChannels(); -- cgit v1.2.3