Use Microsoft.Extensions.Logging abstraction

pull/702/head
Bond_009 6 years ago
parent b0fd432126
commit 0f8b3c6347

@ -2,9 +2,9 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using Emby.Dlna.Service;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
using MediaBrowser.Model.Xml;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.ConnectionManager
{

@ -3,7 +3,7 @@ using MediaBrowser.Controller.Configuration;
using Emby.Dlna.Server;
using Emby.Dlna.Service;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Xml;

@ -6,7 +6,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using Emby.Dlna.Service;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using MediaBrowser.Controller.MediaEncoding;

@ -12,7 +12,7 @@ using Emby.Dlna.Service;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Querying;
using System;
using System.Collections.Generic;
@ -68,7 +68,7 @@ namespace Emby.Dlna.ContentDirectory
_profile = profile;
_config = config;
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager, Logger, libraryManager, mediaEncoder);
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager, _logger, libraryManager, mediaEncoder);
}
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, IDictionary<string, string> methodParams)
@ -1334,7 +1334,7 @@ namespace Emby.Dlna.ContentDirectory
};
}
Logger.Error("Error parsing item Id: {0}. Returning user root folder.", id);
_logger.LogError("Error parsing item Id: {id}. Returning user root folder.", id);
return new ServerItem(_libraryManager.GetUserRootFolder());
}

@ -11,7 +11,7 @@ using Emby.Dlna.ContentDirectory;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Net;
using System;
using System.Globalization;
@ -180,7 +180,7 @@ namespace Emby.Dlna.Didl
return _logger;
}
return new NullLogger();
return null;
}
private string GetMimeType(string input)
@ -925,7 +925,7 @@ namespace Emby.Dlna.Didl
}
catch (XmlException)
{
//_logger.Error("Error adding xml value: " + value);
_logger?.LogError("Error adding xml value: {value}", name);
}
}
@ -937,7 +937,7 @@ namespace Emby.Dlna.Didl
}
catch (XmlException)
{
//_logger.Error("Error adding xml value: " + value);
_logger?.LogError("Error adding xml value: {value}", value);
}
}

@ -8,7 +8,7 @@ using Emby.Dlna.Profiles;
using Emby.Dlna.Server;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
@ -58,7 +58,7 @@ namespace Emby.Dlna
}
catch (Exception ex)
{
_logger.ErrorException("Error extracting DLNA profiles.", ex);
_logger.LogError("Error extracting DLNA profiles.", ex);
}
}
@ -103,7 +103,7 @@ namespace Emby.Dlna
if (profile != null)
{
_logger.Debug("Found matching device profile: {0}", profile.Name);
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
}
else
{
@ -117,6 +117,7 @@ namespace Emby.Dlna
{
var builder = new StringBuilder();
builder.AppendLine("No matching device profile found. The default will need to be used.");
builder.AppendLine(string.Format("DeviceDescription:{0}", profile.DeviceDescription ?? string.Empty));
builder.AppendLine(string.Format("FriendlyName:{0}", profile.FriendlyName ?? string.Empty));
builder.AppendLine(string.Format("Manufacturer:{0}", profile.Manufacturer ?? string.Empty));
@ -127,7 +128,7 @@ namespace Emby.Dlna
builder.AppendLine(string.Format("ModelUrl:{0}", profile.ModelUrl ?? string.Empty));
builder.AppendLine(string.Format("SerialNumber:{0}", profile.SerialNumber ?? string.Empty));
_logger.LogMultiline("No matching device profile found. The default will need to be used.", LogSeverity.Info, builder);
_logger.LogInformation(builder.ToString());
}
private bool IsMatch(DeviceIdentification deviceInfo, DeviceIdentification profileInfo)
@ -197,7 +198,7 @@ namespace Emby.Dlna
}
catch (ArgumentException ex)
{
_logger.ErrorException("Error evaluating regex pattern {0}", ex, pattern);
_logger.LogError("Error evaluating regex pattern {0}", ex, pattern);
return false;
}
}
@ -216,12 +217,12 @@ namespace Emby.Dlna
if (profile != null)
{
_logger.Debug("Found matching device profile: {0}", profile.Name);
_logger.LogDebug("Found matching device profile: {0}", profile.Name);
}
else
{
var headerString = string.Join(", ", headers.Select(i => string.Format("{0}={1}", i.Key, i.Value)).ToArray());
_logger.Debug("No matching device profile found. {0}", headerString);
_logger.LogDebug("No matching device profile found. {0}", headerString);
}
return profile;
@ -250,7 +251,7 @@ namespace Emby.Dlna
return string.Equals(value, header.Value, StringComparison.OrdinalIgnoreCase);
case HeaderMatchType.Substring:
var isMatch = value.IndexOf(header.Value, StringComparison.OrdinalIgnoreCase) != -1;
//_logger.Debug("IsMatch-Substring value: {0} testValue: {1} isMatch: {2}", value, header.Value, isMatch);
//_logger.LogDebug("IsMatch-Substring value: {0} testValue: {1} isMatch: {2}", value, header.Value, isMatch);
return isMatch;
case HeaderMatchType.Regex:
return Regex.IsMatch(value, header.Value, RegexOptions.IgnoreCase);
@ -323,7 +324,7 @@ namespace Emby.Dlna
}
catch (Exception ex)
{
_logger.ErrorException("Error parsing profile file: {0}", ex, path);
_logger.LogError("Error parsing profile file: {0}", ex, path);
return null;
}
@ -598,4 +599,3 @@ namespace Emby.Dlna
}
}*/
}

@ -1,7 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@ -34,7 +34,7 @@ namespace Emby.Dlna.Eventing
// Remove logging for now because some devices are sending this very frequently
// TODO re-enable with dlna debug logging setting
//_logger.Debug("Renewing event subscription for {0} with timeout of {1} to {2}",
//_logger.LogDebug("Renewing event subscription for {0} with timeout of {1} to {2}",
// subscription.NotificationType,
// timeout,
// subscription.CallbackUrl);
@ -60,7 +60,7 @@ namespace Emby.Dlna.Eventing
// Remove logging for now because some devices are sending this very frequently
// TODO re-enable with dlna debug logging setting
//_logger.Debug("Creating event subscription for {0} with timeout of {1} to {2}",
//_logger.LogDebug("Creating event subscription for {0} with timeout of {1} to {2}",
// notificationType,
// timeout,
// callbackUrl);
@ -96,7 +96,7 @@ namespace Emby.Dlna.Eventing
public EventSubscriptionResponse CancelEventSubscription(string subscriptionId)
{
_logger.Debug("Cancelling event subscription {0}", subscriptionId);
_logger.LogDebug("Cancelling event subscription {0}", subscriptionId);
EventSubscription sub;
_subscriptions.TryRemove(subscriptionId, out sub);

@ -11,7 +11,7 @@ using MediaBrowser.Controller.Session;
using MediaBrowser.Controller.TV;
using Emby.Dlna.PlayTo;
using Emby.Dlna.Ssdp;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Linq;
using System.Threading.Tasks;
@ -64,7 +64,7 @@ namespace Emby.Dlna.Main
public static DlnaEntryPoint Current;
public DlnaEntryPoint(IServerConfigurationManager config,
ILogManager logManager,
ILoggerFactory loggerFactory,
IServerApplicationHost appHost,
ISessionManager sessionManager,
IHttpClient httpClient,
@ -102,7 +102,7 @@ namespace Emby.Dlna.Main
_timerFactory = timerFactory;
_environmentInfo = environmentInfo;
_networkManager = networkManager;
_logger = logManager.GetLogger("Dlna");
_logger = loggerFactory.CreateLogger("Dlna");
ContentDirectory = new ContentDirectory.ContentDirectory(dlnaManager,
userDataManager,
@ -185,13 +185,13 @@ namespace Emby.Dlna.Main
}
catch (Exception ex)
{
_logger.ErrorException("Error starting ssdp handlers", ex);
_logger.LogError("Error starting ssdp handlers", ex);
}
}
private void LogMessage(string msg)
{
_logger.Debug(msg);
_logger.LogDebug(msg);
}
private void StartDeviceDiscovery(ISsdpCommunicationsServer communicationsServer)
@ -202,7 +202,7 @@ namespace Emby.Dlna.Main
}
catch (Exception ex)
{
_logger.ErrorException("Error starting device discovery", ex);
_logger.LogError("Error starting device discovery", ex);
}
}
@ -210,12 +210,12 @@ namespace Emby.Dlna.Main
{
try
{
_logger.Info("Disposing DeviceDiscovery");
_logger.LogInformation("Disposing DeviceDiscovery");
((DeviceDiscovery)_deviceDiscovery).Dispose();
}
catch (Exception ex)
{
_logger.ErrorException("Error stopping device discovery", ex);
_logger.LogError("Error stopping device discovery", ex);
}
}
@ -243,7 +243,7 @@ namespace Emby.Dlna.Main
}
catch (Exception ex)
{
_logger.ErrorException("Error registering endpoint", ex);
_logger.LogError("Error registering endpoint", ex);
}
}
@ -263,7 +263,7 @@ namespace Emby.Dlna.Main
var fullService = "urn:schemas-upnp-org:device:MediaServer:1";
_logger.Info("Registering publisher for {0} on {1}", fullService, address.ToString());
_logger.LogInformation("Registering publisher for {0} on {1}", fullService, address.ToString());
var descriptorUri = "/dlna/" + udn + "/description.xml";
var uri = new Uri(_appHost.GetLocalApiUrl(address) + descriptorUri);
@ -361,7 +361,7 @@ namespace Emby.Dlna.Main
}
catch (Exception ex)
{
_logger.ErrorException("Error starting PlayTo manager", ex);
_logger.LogError("Error starting PlayTo manager", ex);
}
}
}
@ -374,12 +374,12 @@ namespace Emby.Dlna.Main
{
try
{
_logger.Info("Disposing PlayToManager");
_logger.LogInformation("Disposing PlayToManager");
_manager.Dispose();
}
catch (Exception ex)
{
_logger.ErrorException("Error disposing PlayTo manager", ex);
_logger.LogError("Error disposing PlayTo manager", ex);
}
_manager = null;
}
@ -394,7 +394,7 @@ namespace Emby.Dlna.Main
if (_communicationsServer != null)
{
_logger.Info("Disposing SsdpCommunicationsServer");
_logger.LogInformation("Disposing SsdpCommunicationsServer");
_communicationsServer.Dispose();
_communicationsServer = null;
}
@ -409,7 +409,7 @@ namespace Emby.Dlna.Main
{
if (_Publisher != null)
{
_logger.Info("Disposing SsdpDevicePublisher");
_logger.LogInformation("Disposing SsdpDevicePublisher");
_Publisher.Dispose();
_Publisher = null;
}

@ -2,7 +2,7 @@
using MediaBrowser.Controller.Configuration;
using Emby.Dlna.Server;
using Emby.Dlna.Service;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Xml;

@ -2,7 +2,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using Emby.Dlna.Service;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Xml;

@ -2,7 +2,7 @@
using MediaBrowser.Controller.Configuration;
using Emby.Dlna.Common;
using Emby.Dlna.Ssdp;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Net;
using System;
using System.Collections.Generic;
@ -108,7 +108,7 @@ namespace Emby.Dlna.PlayTo
public void Start()
{
_logger.Debug("Dlna Device.Start");
_logger.LogDebug("Dlna Device.Start");
_timer = _timerFactory.Create(TimerCallback, null, 1000, Timeout.Infinite);
}
@ -140,7 +140,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error updating device volume info for {0}", ex, Properties.Name);
_logger.LogError("Error updating device volume info for {0}", ex, Properties.Name);
}
}
@ -259,7 +259,7 @@ namespace Emby.Dlna.PlayTo
return false;
}
_logger.Debug("Setting mute");
_logger.LogDebug("Setting mute");
var value = mute ? 1 : 0;
await new SsdpHttpClient(_httpClient, _config).SendCommandAsync(Properties.BaseUrl, service, command.Name, rendererCommands.BuildPost(command, service.ServiceType, value))
@ -323,7 +323,7 @@ namespace Emby.Dlna.PlayTo
url = url.Replace("&", "&amp;");
_logger.Debug("{0} - SetAvTransport Uri: {1} DlnaHeaders: {2}", Properties.Name, url, header);
_logger.LogDebug("{0} - SetAvTransport Uri: {1} DlnaHeaders: {2}", Properties.Name, url, header);
var command = avCommands.ServiceActions.FirstOrDefault(c => c.Name == "SetAVTransportURI");
if (command == null)
@ -507,7 +507,7 @@ namespace Emby.Dlna.PlayTo
if (_disposed)
return;
//_logger.ErrorException("Error updating device info for {0}", ex, Properties.Name);
//_logger.LogError("Error updating device info for {0}", ex, Properties.Name);
_connectFailureCount++;
@ -516,7 +516,7 @@ namespace Emby.Dlna.PlayTo
var action = OnDeviceUnavailable;
if (action != null)
{
_logger.Debug("Disposing device due to loss of connection");
_logger.LogDebug("Disposing device due to loss of connection");
action();
return;
}
@ -767,7 +767,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Unable to parse xml {0}", ex, trackString);
_logger.LogError("Unable to parse xml {0}", ex, trackString);
return new Tuple<bool, uBaseObject>(true, null);
}
}
@ -887,7 +887,7 @@ namespace Emby.Dlna.PlayTo
string url = NormalizeUrl(Properties.BaseUrl, avService.ScpdUrl);
var httpClient = new SsdpHttpClient(_httpClient, _config);
_logger.Debug("Dlna Device.GetRenderingProtocolAsync");
_logger.LogDebug("Dlna Device.GetRenderingProtocolAsync");
var document = await httpClient.GetDataAsync(url, cancellationToken).ConfigureAwait(false);
rendererCommands = TransportCommands.Create(document);

@ -7,7 +7,7 @@ using Emby.Dlna.Didl;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Session;
using MediaBrowser.Model.System;
using System;
@ -156,7 +156,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error reporting progress", ex);
_logger.LogError("Error reporting progress", ex);
}
}
@ -204,7 +204,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error reporting playback stopped", ex);
_logger.LogError("Error reporting playback stopped", ex);
}
}
@ -223,7 +223,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error reporting progress", ex);
_logger.LogError("Error reporting progress", ex);
}
}
@ -247,7 +247,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error reporting progress", ex);
_logger.LogError("Error reporting progress", ex);
}
}
@ -278,7 +278,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error reporting progress", ex);
_logger.LogError("Error reporting progress", ex);
}
}
@ -319,7 +319,7 @@ namespace Emby.Dlna.PlayTo
public async Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken)
{
_logger.Debug("{0} - Received PlayRequest: {1}", this._session.DeviceName, command.PlayCommand);
_logger.LogDebug("{0} - Received PlayRequest: {1}", this._session.DeviceName, command.PlayCommand);
var user = command.ControllingUserId.Equals(Guid.Empty) ? null : _userManager.GetUserById(command.ControllingUserId);
@ -351,7 +351,7 @@ namespace Emby.Dlna.PlayTo
}
}
_logger.Debug("{0} - Playlist created", _session.DeviceName);
_logger.LogDebug("{0} - Playlist created", _session.DeviceName);
if (command.PlayCommand == PlayCommand.PlayLast)
{
@ -539,7 +539,7 @@ namespace Emby.Dlna.PlayTo
return _logger;
}
return new NullLogger();
return null;
}
private PlaylistItem GetPlaylistItem(BaseItem item, List<MediaSourceInfo> mediaSources, DeviceProfile profile, string deviceId, string mediaSourceId, int? audioStreamIndex, int? subtitleStreamIndex)
@ -599,7 +599,7 @@ namespace Emby.Dlna.PlayTo
{
Playlist.Clear();
Playlist.AddRange(items);
_logger.Debug("{0} - Playing {1} items", _session.DeviceName, Playlist.Count);
_logger.LogDebug("{0} - Playing {1} items", _session.DeviceName, Playlist.Count);
await SetPlaylistIndex(0).ConfigureAwait(false);
return true;

@ -5,7 +5,7 @@ using MediaBrowser.Controller.Dlna;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Session;
using System;
using System.Collections.Generic;
@ -93,7 +93,7 @@ namespace Emby.Dlna.PlayTo
if (usn.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1 &&
nt.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1)
{
//_logger.Debug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
//_logger.LogDebug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
return;
}
@ -121,7 +121,7 @@ namespace Emby.Dlna.PlayTo
}
catch (Exception ex)
{
_logger.ErrorException("Error creating PlayTo device.", ex);
_logger.LogError("Error creating PlayTo device.", ex);
}
finally
{
@ -155,9 +155,9 @@ namespace Emby.Dlna.PlayTo
private async Task AddDevice(UpnpDeviceInfo info, string location, CancellationToken cancellationToken)
{
var uri = info.Location;
_logger.Debug("Attempting to create PlayToController from location {0}", location);
_logger.LogDebug("Attempting to create PlayToController from location {0}", location);
_logger.Debug("Logging session activity from location {0}", location);
_logger.LogDebug("Logging session activity from location {0}", location);
string uuid;
if (info.Headers.TryGetValue("USN", out uuid))
{
@ -237,7 +237,7 @@ namespace Emby.Dlna.PlayTo
SupportsMediaControl = true
});
_logger.Info("DLNA Session created for {0} - {1}", device.Properties.Name, device.Properties.ModelName);
_logger.LogInformation("DLNA Session created for {0} - {1}", device.Properties.Name, device.Properties.ModelName);
}
}

@ -1,7 +1,7 @@
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using Emby.Dlna.Server;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.IO;
@ -20,13 +20,13 @@ namespace Emby.Dlna.Service
private const string NS_SOAPENV = "http://schemas.xmlsoap.org/soap/envelope/";
protected readonly IServerConfigurationManager Config;
protected readonly ILogger Logger;
protected readonly ILogger _logger;
protected readonly IXmlReaderSettingsFactory XmlReaderSettingsFactory;
protected BaseControlHandler(IServerConfigurationManager config, ILogger logger, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
{
Config = config;
Logger = logger;
_logger = logger;
XmlReaderSettingsFactory = xmlReaderSettingsFactory;
}
@ -52,7 +52,7 @@ namespace Emby.Dlna.Service
}
catch (Exception ex)
{
Logger.ErrorException("Error processing control request", ex);
_logger.LogError("Error processing control request", ex);
return new ControlErrorHandler().GetResponse(ex);
}
@ -76,7 +76,7 @@ namespace Emby.Dlna.Service
}
}
Logger.Debug("Received control request {0}", requestInfo.LocalName);
_logger.LogDebug("Received control request {0}", requestInfo.LocalName);
var result = GetResult(requestInfo.LocalName, requestInfo.Headers);
@ -118,7 +118,7 @@ namespace Emby.Dlna.Service
IsSuccessful = true
};
//Logger.Debug(xml);
//logger.LogDebug(xml);
controlResponse.Headers.Add("EXT", string.Empty);
@ -244,7 +244,7 @@ namespace Emby.Dlna.Service
var originalHeaders = request.Headers;
var headers = string.Join(", ", originalHeaders.Select(i => string.Format("{0}={1}", i.Key, i.Value)).ToArray());
Logger.Debug("Control request. Headers: {0}", headers);
_logger.LogDebug("Control request. Headers: {0}", headers);
}
private void LogResponse(ControlResponse response)
@ -258,7 +258,7 @@ namespace Emby.Dlna.Service
var headers = string.Join(", ", originalHeaders.Select(i => string.Format("{0}={1}", i.Key, i.Value)).ToArray());
//builder.Append(response.Xml);
Logger.Debug("Control response. Headers: {0}", headers);
_logger.LogDebug("Control response. Headers: {0}", headers);
}
}
}

@ -1,7 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Dlna;
using Emby.Dlna.Eventing;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
namespace Emby.Dlna.Service
{

@ -2,7 +2,7 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dlna;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;

@ -4,7 +4,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.IO;
using MediaBrowser.Model.IO;
@ -78,7 +78,7 @@ namespace Emby.Drawing.ImageMagick
private void LogVersion()
{
_logger.Info("ImageMagick version: " + GetVersion());
_logger.LogInformation("ImageMagick version: " + GetVersion());
TestWebp();
Wand.SetMagickThreadCount(1);
}
@ -103,7 +103,7 @@ namespace Emby.Drawing.ImageMagick
}
catch
{
//_logger.ErrorException("Error loading webp: ", ex);
//_logger.LogError("Error loading webp: ", ex);
_webpAvailable = false;
}
}
@ -295,7 +295,7 @@ namespace Emby.Drawing.ImageMagick
}
catch (Exception ex)
{
_logger.ErrorException("Error drawing indicator overlay", ex);
_logger.LogError("Error drawing indicator overlay", ex);
}
}

@ -1,6 +1,6 @@
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
@ -30,7 +30,7 @@ namespace Emby.Drawing.Net
private void LogInfo()
{
_logger.Info("GDIImageEncoder starting");
_logger.LogInformation("GDIImageEncoder starting");
using (var stream = GetType().Assembly.GetManifestResourceStream(GetType().Namespace + ".empty.png"))
{
using (var img = Image.FromStream(stream))
@ -38,7 +38,7 @@ namespace Emby.Drawing.Net
}
}
_logger.Info("GDIImageEncoder started");
_logger.LogInformation("GDIImageEncoder started");
}
public string[] SupportedInputFormats
@ -214,7 +214,7 @@ namespace Emby.Drawing.Net
}
catch (Exception ex)
{
_logger.ErrorException("Error drawing indicator overlay", ex);
_logger.LogError("Error drawing indicator overlay", ex);
}
}

@ -3,7 +3,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using SkiaSharp;
using System;
using System.IO;
@ -81,7 +81,7 @@ namespace Emby.Drawing.Skia
// test an operation that requires the native library
SKPMColor.PreMultiply(SKColors.Black);
_logger.Info("SkiaSharp version: " + GetVersion());
_logger.LogInformation("SkiaSharp version: " + GetVersion());
}
public static string GetVersion()
@ -530,7 +530,7 @@ namespace Emby.Drawing.Skia
throw new ArgumentOutOfRangeException(string.Format("Skia unable to read image {0}", inputPath));
}
//_logger.Info("Color type {0}", bitmap.Info.ColorType);
//_logger.LogInformation("Color type {0}", bitmap.Info.ColorType);
var originalImageSize = new ImageSize(bitmap.Width, bitmap.Height);
@ -660,7 +660,7 @@ namespace Emby.Drawing.Skia
}
catch (Exception ex)
{
_logger.ErrorException("Error drawing indicator overlay", ex);
_logger.LogError("Error drawing indicator overlay", ex);
}
}

@ -1,5 +1,5 @@
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.IO;
@ -235,4 +235,4 @@ namespace Emby.Drawing.Common
throw new ArgumentException(ErrorMessage);
}
}
}
}

@ -5,7 +5,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Drawing;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Concurrent;
@ -261,7 +261,7 @@ namespace Emby.Drawing
//if (originalImageSize.HasValue && options.HasDefaultOptions(originalImagePath, originalImageSize.Value) && !autoOrient)
//{
// // Just spit out the original file if all the options are default
// _logger.Info("Returning original image {0}", originalImagePath);
// _logger.LogInformation("Returning original image {0}", originalImagePath);
// return new ValueTuple<string, string, DateTime>(originalImagePath, MimeTypes.GetMimeType(originalImagePath), dateModified);
//}
@ -302,7 +302,7 @@ namespace Emby.Drawing
{
// Decoder failed to decode it
#if DEBUG
_logger.ErrorException("Error encoding image", ex);
_logger.LogError("Error encoding image", ex);
#endif
// Just spit out the original file if all the options are default
return new Tuple<string, string, DateTime>(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.ErrorException("Error encoding image", ex);
_logger.LogError("Error encoding image", ex);
// Just spit out the original file if all the options are default
return new Tuple<string, string, DateTime>(originalImagePath, MimeTypes.GetMimeType(originalImagePath), dateModified);
@ -464,7 +464,7 @@ namespace Emby.Drawing
}
var path = info.Path;
_logger.Info("Getting image size for item {0} {1}", item.GetType().Name, path);
_logger.LogInformation("Getting image size for item {0} {1}", item.GetType().Name, path);
var size = GetImageSize(path, allowSlowMethods);
@ -603,7 +603,7 @@ namespace Emby.Drawing
}
catch (Exception ex)
{
_logger.ErrorException("Image conversion failed for {0}", ex, originalImagePath);
_logger.LogError("Image conversion failed for {0}", ex, originalImagePath);
}
}
@ -660,7 +660,7 @@ namespace Emby.Drawing
}
catch (Exception ex)
{
_logger.ErrorException("Error enhancing image", ex);
_logger.LogError("Error enhancing image", ex);
}
return new ValueTuple<string, DateTime, bool>(originalImagePath, dateModified, inputImageSupportsTransparency);
@ -827,11 +827,11 @@ namespace Emby.Drawing
public void CreateImageCollage(ImageCollageOptions options)
{
_logger.Info("Creating image collage and saving to {0}", options.OutputPath);
_logger.LogInformation("Creating image collage and saving to {0}", options.OutputPath);
_imageEncoder.CreateImageCollage(options);
_logger.Info("Completed creation of image collage and saved to {0}", options.OutputPath);
_logger.LogInformation("Completed creation of image collage and saved to {0}", options.OutputPath);
}
public IImageEnhancer[] GetSupportedEnhancers(BaseItem item, ImageType imageType)
@ -853,7 +853,7 @@ namespace Emby.Drawing
}
catch (Exception ex)
{
_logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
_logger.LogError("Error in image enhancer: {0}", ex, i.GetType().Name);
}
}

@ -4,7 +4,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.System;
using System.Runtime.InteropServices;
@ -20,7 +20,7 @@ namespace IsoMounter
private readonly IEnvironmentInfo EnvironmentInfo;
private readonly bool ExecutablesAvailable;
private readonly IFileSystem FileSystem;
private readonly ILogger Logger;
private readonly ILogger _logger;
private readonly string MountCommand;
private readonly string MountPointRoot;
private readonly IProcessFactory ProcessFactory;
@ -36,24 +36,24 @@ namespace IsoMounter
EnvironmentInfo = environment;
FileSystem = fileSystem;
Logger = logger;
_logger = logger;
ProcessFactory = processFactory;
MountPointRoot = FileSystem.DirectorySeparatorChar + "tmp" + FileSystem.DirectorySeparatorChar + "Emby";
Logger.Debug(
_logger.LogDebug(
"[{0}] System PATH is currently set to [{1}].",
Name,
EnvironmentInfo.GetEnvironmentVariable("PATH") ?? ""
);
Logger.Debug(
_logger.LogDebug(
"[{0}] System path separator is [{1}].",
Name,
EnvironmentInfo.PathSeparator
);
Logger.Debug(
_logger.LogDebug(
"[{0}] Mount point root is [{1}].",
Name,
MountPointRoot
@ -65,7 +65,7 @@ namespace IsoMounter
SudoCommand = GetFullPathForExecutable("sudo");
Logger.Info(
_logger.LogInformation(
"[{0}] Using version of [sudo] located at [{1}].",
Name,
SudoCommand
@ -73,7 +73,7 @@ namespace IsoMounter
MountCommand = GetFullPathForExecutable("mount");
Logger.Info(
_logger.LogInformation(
"[{0}] Using version of [mount] located at [{1}].",
Name,
MountCommand
@ -81,7 +81,7 @@ namespace IsoMounter
UmountCommand = GetFullPathForExecutable("umount");
Logger.Info(
_logger.LogInformation(
"[{0}] Using version of [umount] located at [{1}].",
Name,
UmountCommand
@ -119,7 +119,7 @@ namespace IsoMounter
{
if (EnvironmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Linux) {
Logger.Info(
_logger.LogInformation(
"[{0}] Checking we can attempt to mount [{1}], Extension = [{2}], Operating System = [{3}], Executables Available = [{4}].",
Name,
path,
@ -182,7 +182,7 @@ namespace IsoMounter
return;
}
Logger.Info(
_logger.LogInformation(
"[{0}] Disposing [{1}].",
Name,
disposing.ToString()
@ -230,7 +230,7 @@ namespace IsoMounter
var uid = getuid();
Logger.Debug(
_logger.LogDebug(
"[{0}] Our current UID is [{1}], GetUserId() returned [{2}].",
Name,
uid.ToString(),
@ -267,13 +267,13 @@ namespace IsoMounter
//StreamReader outputReader = process.StandardOutput.;
//StreamReader errorReader = process.StandardError;
Logger.Debug(
_logger.LogDebug(
"[{0}] Standard output from process is [{1}].",
Name,
process.StandardOutput.ReadToEnd()
);
Logger.Debug(
_logger.LogDebug(
"[{0}] Standard error from process is [{1}].",
Name,
process.StandardError.ReadToEnd()
@ -283,7 +283,7 @@ namespace IsoMounter
processFailed = true;
Logger.Debug(
_logger.LogDebug(
"[{0}] Unhandled exception executing command, exception is [{1}].",
Name,
ex.Message
@ -308,13 +308,13 @@ namespace IsoMounter
if (!string.IsNullOrEmpty(isoPath)) {
Logger.Info(
_logger.LogInformation(
"[{0}] Attempting to mount [{1}].",
Name,
isoPath
);
Logger.Debug(
_logger.LogDebug(
"[{0}] ISO will be mounted at [{1}].",
Name,
mountPoint
@ -342,7 +342,7 @@ namespace IsoMounter
cmdArguments = string.Format("\"{0}\" \"{1}\" \"{2}\"", MountCommand, isoPath, mountPoint);
}
Logger.Debug(
_logger.LogDebug(
"[{0}] Mount command [{1}], mount arguments [{2}].",
Name,
cmdFilename,
@ -351,7 +351,7 @@ namespace IsoMounter
if (ExecuteCommand(cmdFilename, cmdArguments)) {
Logger.Info(
_logger.LogInformation(
"[{0}] ISO mount completed successfully.",
Name
);
@ -360,7 +360,7 @@ namespace IsoMounter
} else {
Logger.Info(
_logger.LogInformation(
"[{0}] ISO mount completed with errors.",
Name
);
@ -371,7 +371,7 @@ namespace IsoMounter
} catch (Exception ex) {
Logger.Info(
_logger.LogInformation(
"[{0}] Unhandled exception removing mount point, exception is [{1}].",
Name,
ex.Message
@ -395,7 +395,7 @@ namespace IsoMounter
if (mount != null) {
Logger.Info(
_logger.LogInformation(
"[{0}] Attempting to unmount ISO [{1}] mounted on [{2}].",
Name,
mount.IsoPath,
@ -416,7 +416,7 @@ namespace IsoMounter
cmdArguments = string.Format("\"{0}\" \"{1}\"", UmountCommand, mount.MountedPath);
}
Logger.Debug(
_logger.LogDebug(
"[{0}] Umount command [{1}], umount arguments [{2}].",
Name,
cmdFilename,
@ -425,14 +425,14 @@ namespace IsoMounter
if (ExecuteCommand(cmdFilename, cmdArguments)) {
Logger.Info(
_logger.LogInformation(
"[{0}] ISO unmount completed successfully.",
Name
);
} else {
Logger.Info(
_logger.LogInformation(
"[{0}] ISO unmount completed with errors.",
Name
);
@ -445,7 +445,7 @@ namespace IsoMounter
} catch (Exception ex) {
Logger.Info(
_logger.LogInformation(
"[{0}] Unhandled exception removing mount point, exception is [{1}].",
Name,
ex.Message

@ -1,5 +1,7 @@
using System;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.System;
namespace IsoMounter
{
@ -79,4 +81,3 @@ namespace IsoMounter
}
}

@ -4,7 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Notifications;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Notifications;
using System;
using System.Collections.Generic;
@ -25,11 +25,11 @@ namespace Emby.Notifications
private INotificationService[] _services;
private INotificationTypeFactory[] _typeFactories;
public NotificationManager(ILogManager logManager, IUserManager userManager, IServerConfigurationManager config)
public NotificationManager(ILoggerFactory loggerFactory, IUserManager userManager, IServerConfigurationManager config)
{
_userManager = userManager;
_config = config;
_logger = logManager.GetLogger(GetType().Name);
_logger = loggerFactory.CreateLogger(GetType().Name);
}
private NotificationOptions GetConfiguration()
@ -126,7 +126,7 @@ namespace Emby.Notifications
User = user
};
_logger.Debug("Sending notification via {0} to user {1}", service.Name, user.Name);
_logger.LogDebug("Sending notification via {0} to user {1}", service.Name, user.Name);
try
{
@ -134,7 +134,7 @@ namespace Emby.Notifications
}
catch (Exception ex)
{
_logger.ErrorException("Error sending notification to {0}", ex, service.Name);
_logger.LogError("Error sending notification to {0}", ex, service.Name);
}
}
@ -146,7 +146,7 @@ namespace Emby.Notifications
}
catch (Exception ex)
{
_logger.ErrorException("Error in IsEnabledForUser", ex);
_logger.LogError("Error in IsEnabledForUser", ex);
return false;
}
}
@ -177,7 +177,7 @@ namespace Emby.Notifications
}
catch (Exception ex)
{
_logger.ErrorException("Error in GetNotificationTypes", ex);
_logger.LogError("Error in GetNotificationTypes", ex);
return new List<NotificationTypeInfo>();
}

@ -8,7 +8,7 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Notifications;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using MediaBrowser.Model.Notifications;
using MediaBrowser.Model.Tasks;
using System;
@ -273,7 +273,7 @@ namespace Emby.Notifications
}
catch (Exception ex)
{
_logger.ErrorException("Error sending notification", ex);
_logger.LogError("Error sending notification", ex);
}
}

@ -9,7 +9,7 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using TagLib;
using TagLib.IFD;
using TagLib.IFD.Entries;
@ -172,7 +172,7 @@ namespace Emby.Photos
}
catch (Exception e)
{
_logger.ErrorException("Image Provider - Error reading image tag for {0}", e, item.Path);
_logger.LogError("Image Provider - Error reading image tag for {0}", e, item.Path);
}
}

@ -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
});
}
}

@ -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;

@ -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;

@ -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
/// <param name="applicationPaths">The application paths.</param>
/// <param name="logManager">The log manager.</param>
/// <param name="xmlSerializer">The XML serializer.</param>
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
/// </summary>
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);
}

@ -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; }
/// <summary>
/// Gets or sets the log manager.
/// Gets or sets the logger factory.
/// </summary>
/// <value>The log manager.</value>
public ILogManager LogManager { get; protected set; }
/// <value>The logger factory.</value>
public ILoggerFactory LoggerFactory { get; protected set; }
/// <summary>
/// Gets the application paths.
@ -275,12 +275,12 @@ namespace Emby.Server.Implementations
/// <returns>IConfigurationManager.</returns>
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);
}
/// <summary>
@ -391,7 +391,7 @@ namespace Emby.Server.Implementations
/// Initializes a new instance of the <see cref="ApplicationHost" /> class.
/// </summary>
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();
}*/
/// <summary>
/// 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<IServerEntryPoint>();
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<IServerEntryPoint> 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<IServerApplicationHost>(this);
@ -915,36 +915,40 @@ namespace Emby.Server.Implementations
IAssemblyInfo assemblyInfo = new AssemblyInfo();
RegisterSingleInstance<IAssemblyInfo>(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<IXmlReaderSettingsFactory>(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<IMusicManager>(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<ISearchEngine>(() => new SearchEngine(LogManager, LibraryManager, UserManager));
RegisterSingleInstance<ISearchEngine>(() => 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<IEncryptionManager>(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<INewsService>(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<IDlnaManager>(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<IPlaylistManager>(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<IDeviceDiscovery>(new DeviceDiscovery(LogManager.GetLogger("IDeviceDiscovery"), ServerConfigurationManager, SocketFactory, TimerFactory));
RegisterSingleInstance<IDeviceDiscovery>(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<IActivityManager>(new ActivityManager(LogManager.GetLogger("ActivityManager"), activityLogRepo, UserManager));
RegisterSingleInstance<IActivityManager>(new ActivityManager(LoggerFactory.CreateLogger("ActivityManager"), activityLogRepo, UserManager));
var authContext = new AuthorizationContext(AuthenticationRepository, UserManager);
RegisterSingleInstance<IAuthorizationContext>(authContext);
@ -1046,14 +1050,14 @@ namespace Emby.Server.Implementations
AuthService = new AuthService(UserManager, authContext, ServerConfigurationManager, SessionManager, NetworkManager);
RegisterSingleInstance<IAuthService>(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
/// <returns>Task{IUserRepository}.</returns>
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
/// </summary>
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<Tuple<Type, string>>();
}
@ -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
/// </summary>
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
/// </summary>
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
/// <param name="package">The package.</param>
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<PackageVersionInfo>
{
@ -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);
}
}
}

@ -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;
}
}

@ -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

@ -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;

@ -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;

@ -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 <see cref="ServerConfigurationManager" /> class.
/// </summary>
/// <param name="applicationPaths">The application paths.</param>
/// <param name="logManager">The log manager.</param>
/// <param name="loggerFactory">The paramref name="loggerFactory" factory.</param>
/// <param name="xmlSerializer">The XML serializer.</param>
/// <param name="fileSystem">The file system.</param>
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();
}

@ -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<string>
@ -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);
}
}

@ -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);
}
}
}
}

@ -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);
}
}
}
}

@ -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<Tuple<BaseItem, ItemCounts>>();
var result = new QueryResult<Tuple<BaseItem, ItemCounts>>();
//Logger.Info("GetItemValues {0}", string.Join(";", statementTexts.ToArray()));
//logger.LogInformation("GetItemValues {0}", string.Join(";", statementTexts.ToArray()));
var statements = PrepareAllSafe(db, statementTexts);
if (!isReturningZeroItems)

@ -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
}
}
}
}

@ -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
}
}
}
}
}

@ -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);
}
}

@ -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;

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}
}

@ -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);
}
}

@ -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);
}
}
}

@ -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);
}
}

@ -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);
}
}

@ -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
{
}
}
}
}

@ -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);
}
}

@ -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);
}
}

@ -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,

@ -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;

@ -92,4 +92,4 @@ namespace Emby.Server.Implementations.EnvironmentInfo
Environment.SetEnvironmentVariable(name, value);
}
}
}
}

@ -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;

@ -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);
}
}
}

@ -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);
}
/// <summary>
@ -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;

@ -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);
}
}));

@ -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
/// <summary>
/// Initializes a new instance of the <see cref="HttpResultFactory" /> class.
/// </summary>
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");
}
/// <summary>

@ -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);
}
}
}

@ -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; }
}
}
}

@ -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))
{

@ -1,4 +1,4 @@
using MediaBrowser.Model.Logging;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Globalization;

@ -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);
}
}

@ -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);
}
}
}

@ -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
/// <summary>
/// Initializes a new instance of the <see cref="LibraryMonitor" /> class.
/// </summary>
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;
}
}

@ -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;
}
}

@ -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)
{

@ -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()
{
}
}
}

@ -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
{

@ -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<double> 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<IntroInfo>();
}
@ -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<string>();
}
@ -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);

@ -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<MediaInfo>(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;

@ -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<MediaSourceInfo>();
}
}
@ -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<MediaSourceInfo>(json);
if (!request.UserId.Equals(Guid.Empty))
@ -624,7 +624,7 @@ namespace Emby.Server.Implementations.Library
{
mediaInfo = _jsonSerializer.DeserializeFromFile<MediaInfo>(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
}
}
}
}
}

@ -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

@ -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;

@ -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
{

@ -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
{

@ -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);

@ -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;
}

@ -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<SearchHintInfo> GetSearchHints(SearchQuery query)

@ -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<IUserManager> _userManager;
public UserDataManager(ILogManager logManager, IServerConfigurationManager config, Func<IUserManager> userManager)
public UserDataManager(ILoggerFactory loggerFactory, IServerConfigurationManager config, Func<IUserManager> userManager)
{
_config = config;
_logger = logManager.GetLogger(GetType().Name);
_logger = loggerFactory.CreateLogger(GetType().Name);
_userManager = userManager;
}

@ -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();
}

@ -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;

@ -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
{

@ -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;

@ -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++;

@ -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
{

@ -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++;

@ -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;

@ -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++;

@ -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");
}
}
}

@ -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;

@ -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
{

@ -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);
}
}
}

@ -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<ProgramInfo>();
}
else
@ -1042,7 +1042,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
public async Task<ILiveStream> GetChannelStreamWithDirectStreamProvider(string channelId, string streamId, List<ILiveStream> 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<TunerHostInfo>();
}
@ -2827,4 +2827,4 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
return manager.GetConfiguration<XbmcMetadataOptions>("xbmcmetadata");
}
}
}
}

@ -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);
}
}
}
}
}

@ -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<T>();
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save