浏览代码

Merge pull request #6813 from Bond-009/warn54

Fix some warnings
Claus Vium 3 年之前
父节点
当前提交
ca6211ad61
共有 27 个文件被更改,包括 61 次插入53 次删除
  1. 2 0
      Emby.Naming/Common/NamingOptions.cs
  2. 1 1
      Emby.Server.Implementations/Dto/DtoService.cs
  3. 1 1
      Emby.Server.Implementations/IO/LibraryMonitor.cs
  4. 7 7
      Emby.Server.Implementations/Library/LibraryManager.cs
  5. 1 1
      Emby.Server.Implementations/Library/Validators/PeopleValidator.cs
  6. 4 4
      Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
  7. 6 6
      Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs
  8. 1 1
      Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs
  9. 3 3
      Emby.Server.Implementations/LiveTv/LiveTvManager.cs
  10. 1 1
      Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs
  11. 4 4
      Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs
  12. 4 4
      Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs
  13. 3 3
      Jellyfin.Api/Controllers/DynamicHlsController.cs
  14. 1 1
      Jellyfin.Api/Controllers/SubtitleController.cs
  15. 1 1
      Jellyfin.Server.Implementations/Events/EventManager.cs
  16. 1 1
      Jellyfin.Server/Middleware/ResponseTimeMiddleware.cs
  17. 1 1
      Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
  18. 1 1
      Jellyfin.Server/Program.cs
  19. 1 1
      MediaBrowser.Controller/Entities/BaseItem.cs
  20. 1 1
      MediaBrowser.Controller/Entities/Folder.cs
  21. 2 2
      MediaBrowser.Controller/IO/FileData.cs
  22. 1 1
      MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs
  23. 2 2
      MediaBrowser.Providers/Manager/ItemImageProvider.cs
  24. 3 3
      MediaBrowser.Providers/Manager/MetadataService.cs
  25. 1 1
      MediaBrowser.XbmcMetadata/EntryPoint.cs
  26. 6 0
      jellyfin.ruleset
  27. 1 1
      tests/Jellyfin.Server.Integration.Tests/Controllers/DashboardControllerTests.cs

+ 2 - 0
Emby.Naming/Common/NamingOptions.cs

@@ -1,3 +1,5 @@
+#pragma warning disable CA1819
+
 using System;
 using System;
 using System.Linq;
 using System.Linq;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;

+ 1 - 1
Emby.Server.Implementations/Dto/DtoService.cs

@@ -497,7 +497,7 @@ namespace Emby.Server.Implementations.Dto
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error getting {imageType} image info for {path}", image.Type, image.Path);
+                _logger.LogError(ex, "Error getting {ImageType} image info for {Path}", image.Type, image.Path);
                 return null;
                 return null;
             }
             }
         }
         }

+ 1 - 1
Emby.Server.Implementations/IO/LibraryMonitor.cs

@@ -276,7 +276,7 @@ namespace Emby.Server.Implementations.IO
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error watching path: {path}", path);
+                    _logger.LogError(ex, "Error watching path: {Path}", path);
                 }
                 }
             });
             });
         }
         }

+ 7 - 7
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -492,7 +492,7 @@ namespace Emby.Server.Implementations.Library
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error in {resolver} resolving {path}", resolver.GetType().Name, args.Path);
+                _logger.LogError(ex, "Error in {Resolver} resolving {Path}", resolver.GetType().Name, args.Path);
                 return null;
                 return null;
             }
             }
         }
         }
@@ -799,7 +799,7 @@ namespace Emby.Server.Implementations.Library
                     {
                     {
                         var userRootPath = _configurationManager.ApplicationPaths.DefaultUserViewsPath;
                         var userRootPath = _configurationManager.ApplicationPaths.DefaultUserViewsPath;
 
 
-                        _logger.LogDebug("Creating userRootPath at {path}", userRootPath);
+                        _logger.LogDebug("Creating userRootPath at {Path}", userRootPath);
                         Directory.CreateDirectory(userRootPath);
                         Directory.CreateDirectory(userRootPath);
 
 
                         var newItemId = GetNewItemId(userRootPath, typeof(UserRootFolder));
                         var newItemId = GetNewItemId(userRootPath, typeof(UserRootFolder));
@@ -810,7 +810,7 @@ namespace Emby.Server.Implementations.Library
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
-                            _logger.LogError(ex, "Error creating UserRootFolder {path}", newItemId);
+                            _logger.LogError(ex, "Error creating UserRootFolder {Path}", newItemId);
                         }
                         }
 
 
                         if (tmpItem == null)
                         if (tmpItem == null)
@@ -827,7 +827,7 @@ namespace Emby.Server.Implementations.Library
                         }
                         }
 
 
                         _userRootFolder = tmpItem;
                         _userRootFolder = tmpItem;
-                        _logger.LogDebug("Setting userRootFolder: {folder}", _userRootFolder);
+                        _logger.LogDebug("Setting userRootFolder: {Folder}", _userRootFolder);
                     }
                     }
                 }
                 }
             }
             }
@@ -1213,7 +1213,7 @@ namespace Emby.Server.Implementations.Library
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
-                            _logger.LogError(ex, "Error resolving shortcut file {file}", i);
+                            _logger.LogError(ex, "Error resolving shortcut file {File}", i);
                             return null;
                             return null;
                         }
                         }
                     })
                     })
@@ -1698,7 +1698,7 @@ namespace Emby.Server.Implementations.Library
 
 
                     if (video == null)
                     if (video == null)
                     {
                     {
-                        _logger.LogError("Intro resolver returned null for {path}.", info.Path);
+                        _logger.LogError("Intro resolver returned null for {Path}.", info.Path);
                     }
                     }
                     else
                     else
                     {
                     {
@@ -1717,7 +1717,7 @@ namespace Emby.Server.Implementations.Library
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error resolving path {path}.", info.Path);
+                    _logger.LogError(ex, "Error resolving path {Path}.", info.Path);
                 }
                 }
             }
             }
             else
             else

+ 1 - 1
Emby.Server.Implementations/Library/Validators/PeopleValidator.cs

@@ -78,7 +78,7 @@ namespace Emby.Server.Implementations.Library.Validators
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error validating IBN entry {person}", person);
+                    _logger.LogError(ex, "Error validating IBN entry {Person}", person);
                 }
                 }
 
 
                 // Update progress
                 // Update progress

+ 4 - 4
Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -1308,16 +1308,16 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
                 await recorder.Record(directStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false);
                 await recorder.Record(directStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false);
 
 
                 recordingStatus = RecordingStatus.Completed;
                 recordingStatus = RecordingStatus.Completed;
-                _logger.LogInformation("Recording completed: {recordPath}", recordPath);
+                _logger.LogInformation("Recording completed: {RecordPath}", recordPath);
             }
             }
             catch (OperationCanceledException)
             catch (OperationCanceledException)
             {
             {
-                _logger.LogInformation("Recording stopped: {recordPath}", recordPath);
+                _logger.LogInformation("Recording stopped: {RecordPath}", recordPath);
                 recordingStatus = RecordingStatus.Completed;
                 recordingStatus = RecordingStatus.Completed;
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error recording to {recordPath}", recordPath);
+                _logger.LogError(ex, "Error recording to {RecordPath}", recordPath);
                 recordingStatus = RecordingStatus.Error;
                 recordingStatus = RecordingStatus.Error;
             }
             }
 
 
@@ -1404,7 +1404,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error deleting 0-byte failed recording file {path}", path);
+                    _logger.LogError(ex, "Error deleting 0-byte failed recording file {Path}", path);
                 }
                 }
             }
             }
         }
         }

+ 6 - 6
Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs

@@ -225,13 +225,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
             {
             {
                 try
                 try
                 {
                 {
-                    _logger.LogInformation("Stopping ffmpeg recording process for {path}", _targetPath);
+                    _logger.LogInformation("Stopping ffmpeg recording process for {Path}", _targetPath);
 
 
                     _process.StandardInput.WriteLine("q");
                     _process.StandardInput.WriteLine("q");
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error stopping recording transcoding job for {path}", _targetPath);
+                    _logger.LogError(ex, "Error stopping recording transcoding job for {Path}", _targetPath);
                 }
                 }
 
 
                 if (_hasExited)
                 if (_hasExited)
@@ -241,7 +241,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
 
                 try
                 try
                 {
                 {
-                    _logger.LogInformation("Calling recording process.WaitForExit for {path}", _targetPath);
+                    _logger.LogInformation("Calling recording process.WaitForExit for {Path}", _targetPath);
 
 
                     if (_process.WaitForExit(10000))
                     if (_process.WaitForExit(10000))
                     {
                     {
@@ -250,7 +250,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error waiting for recording process to exit for {path}", _targetPath);
+                    _logger.LogError(ex, "Error waiting for recording process to exit for {Path}", _targetPath);
                 }
                 }
 
 
                 if (_hasExited)
                 if (_hasExited)
@@ -260,13 +260,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
 
                 try
                 try
                 {
                 {
-                    _logger.LogInformation("Killing ffmpeg recording process for {path}", _targetPath);
+                    _logger.LogInformation("Killing ffmpeg recording process for {Path}", _targetPath);
 
 
                     _process.Kill();
                     _process.Kill();
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error killing recording transcoding job for {path}", _targetPath);
+                    _logger.LogError(ex, "Error killing recording transcoding job for {Path}", _targetPath);
                 }
                 }
             }
             }
         }
         }

+ 1 - 1
Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs

@@ -393,7 +393,7 @@ namespace Emby.Server.Implementations.LiveTv
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error getting image info for {name}", info.Name);
+                _logger.LogError(ex, "Error getting image info for {Name}", info.Name);
             }
             }
 
 
             return null;
             return null;

+ 3 - 3
Emby.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -1054,7 +1054,7 @@ namespace Emby.Server.Implementations.LiveTv
             {
             {
                 cancellationToken.ThrowIfCancellationRequested();
                 cancellationToken.ThrowIfCancellationRequested();
 
 
-                _logger.LogDebug("Refreshing guide from {name}", service.Name);
+                _logger.LogDebug("Refreshing guide from {Name}", service.Name);
 
 
                 try
                 try
                 {
                 {
@@ -1135,7 +1135,7 @@ namespace Emby.Server.Implementations.LiveTv
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error getting channel information for {name}", channelInfo.Item2.Name);
+                    _logger.LogError(ex, "Error getting channel information for {Name}", channelInfo.Item2.Name);
                 }
                 }
 
 
                 numComplete++;
                 numComplete++;
@@ -1248,7 +1248,7 @@ namespace Emby.Server.Implementations.LiveTv
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    _logger.LogError(ex, "Error getting programs for channel {name}", currentChannel.Name);
+                    _logger.LogError(ex, "Error getting programs for channel {Name}", currentChannel.Name);
                 }
                 }
 
 
                 numComplete++;
                 numComplete++;

+ 1 - 1
Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs

@@ -82,7 +82,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 
 
             Directory.CreateDirectory(Path.GetDirectoryName(TempFilePath));
             Directory.CreateDirectory(Path.GetDirectoryName(TempFilePath));
 
 
-            Logger.LogInformation("Opening HDHR UDP Live stream from {host}", uri.Host);
+            Logger.LogInformation("Opening HDHR UDP Live stream from {Host}", uri.Host);
 
 
             var remoteAddress = IPAddress.Parse(uri.Host);
             var remoteAddress = IPAddress.Parse(uri.Host);
             IPAddress localAddress = null;
             IPAddress localAddress = null;

+ 4 - 4
Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs

@@ -161,11 +161,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
                     }
                     }
                     catch (UnauthorizedAccessException ex)
                     catch (UnauthorizedAccessException ex)
                     {
                     {
-                        _logger.LogError(ex, "Error deleting directory {path}", directory);
+                        _logger.LogError(ex, "Error deleting directory {Path}", directory);
                     }
                     }
                     catch (IOException ex)
                     catch (IOException ex)
                     {
                     {
-                        _logger.LogError(ex, "Error deleting directory {path}", directory);
+                        _logger.LogError(ex, "Error deleting directory {Path}", directory);
                     }
                     }
                 }
                 }
             }
             }
@@ -179,11 +179,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
             }
             }
             catch (UnauthorizedAccessException ex)
             catch (UnauthorizedAccessException ex)
             {
             {
-                _logger.LogError(ex, "Error deleting file {path}", path);
+                _logger.LogError(ex, "Error deleting file {Path}", path);
             }
             }
             catch (IOException ex)
             catch (IOException ex)
             {
             {
-                _logger.LogError(ex, "Error deleting file {path}", path);
+                _logger.LogError(ex, "Error deleting file {Path}", path);
             }
             }
         }
         }
     }
     }

+ 4 - 4
Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs

@@ -141,11 +141,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
                     }
                     }
                     catch (UnauthorizedAccessException ex)
                     catch (UnauthorizedAccessException ex)
                     {
                     {
-                        _logger.LogError(ex, "Error deleting directory {path}", directory);
+                        _logger.LogError(ex, "Error deleting directory {Path}", directory);
                     }
                     }
                     catch (IOException ex)
                     catch (IOException ex)
                     {
                     {
-                        _logger.LogError(ex, "Error deleting directory {path}", directory);
+                        _logger.LogError(ex, "Error deleting directory {Path}", directory);
                     }
                     }
                 }
                 }
             }
             }
@@ -159,11 +159,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks
             }
             }
             catch (UnauthorizedAccessException ex)
             catch (UnauthorizedAccessException ex)
             {
             {
-                _logger.LogError(ex, "Error deleting file {path}", path);
+                _logger.LogError(ex, "Error deleting file {Path}", path);
             }
             }
             catch (IOException ex)
             catch (IOException ex)
             {
             {
-                _logger.LogError(ex, "Error deleting file {path}", path);
+                _logger.LogError(ex, "Error deleting file {Path}", path);
             }
             }
         }
         }
     }
     }

+ 3 - 3
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1794,7 +1794,7 @@ namespace Jellyfin.Api.Controllers
                 return;
                 return;
             }
             }
 
 
-            _logger.LogDebug("Deleting partial HLS file {path}", path);
+            _logger.LogDebug("Deleting partial HLS file {Path}", path);
 
 
             try
             try
             {
             {
@@ -1802,7 +1802,7 @@ namespace Jellyfin.Api.Controllers
             }
             }
             catch (IOException ex)
             catch (IOException ex)
             {
             {
-                _logger.LogError(ex, "Error deleting partial stream file(s) {path}", path);
+                _logger.LogError(ex, "Error deleting partial stream file(s) {Path}", path);
 
 
                 var task = Task.Delay(100);
                 var task = Task.Delay(100);
                 task.Wait();
                 task.Wait();
@@ -1810,7 +1810,7 @@ namespace Jellyfin.Api.Controllers
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error deleting partial stream file(s) {path}", path);
+                _logger.LogError(ex, "Error deleting partial stream file(s) {Path}", path);
             }
             }
         }
         }
 
 

+ 1 - 1
Jellyfin.Api/Controllers/SubtitleController.cs

@@ -528,7 +528,7 @@ namespace Jellyfin.Api.Controllers
 
 
                 if (fontFile != null && fileSize != null && fileSize > 0)
                 if (fontFile != null && fileSize != null && fileSize > 0)
                 {
                 {
-                    _logger.LogDebug("Fallback font size is {fileSize} Bytes", fileSize);
+                    _logger.LogDebug("Fallback font size is {FileSize} Bytes", fileSize);
                     return PhysicalFile(fontFile.FullName, MimeTypes.GetMimeType(fontFile.FullName));
                     return PhysicalFile(fontFile.FullName, MimeTypes.GetMimeType(fontFile.FullName));
                 }
                 }
                 else
                 else

+ 1 - 1
Jellyfin.Server.Implementations/Events/EventManager.cs

@@ -57,7 +57,7 @@ namespace Jellyfin.Server.Implementations.Events
                 }
                 }
                 catch (Exception e)
                 catch (Exception e)
                 {
                 {
-                    _logger.LogError(e, "Uncaught exception in EventConsumer {type}: ", service.GetType());
+                    _logger.LogError(e, "Uncaught exception in EventConsumer {Type}: ", service.GetType());
                 }
                 }
             }
             }
         }
         }

+ 1 - 1
Jellyfin.Server/Middleware/ResponseTimeMiddleware.cs

@@ -68,7 +68,7 @@ namespace Jellyfin.Server.Middleware
             if (_enableWarning && watch.ElapsedMilliseconds > _warningThreshold)
             if (_enableWarning && watch.ElapsedMilliseconds > _warningThreshold)
             {
             {
                 _logger.LogWarning(
                 _logger.LogWarning(
-                    "Slow HTTP Response from {url} to {remoteIp} in {elapsed:g} with Status Code {statusCode}",
+                    "Slow HTTP Response from {Url} to {RemoteIp} in {Elapsed:g} with Status Code {StatusCode}",
                     context.Request.GetDisplayUrl(),
                     context.Request.GetDisplayUrl(),
                     context.GetNormalizedRemoteIp(),
                     context.GetNormalizedRemoteIp(),
                     watch.Elapsed,
                     watch.Elapsed,

+ 1 - 1
Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs

@@ -51,7 +51,7 @@ namespace Jellyfin.Server.Middleware
                     return;
                     return;
                 }
                 }
 
 
-                if (!key.Contains('='))
+                if (!key.Contains('=', StringComparison.Ordinal))
                 {
                 {
                     _store = value;
                     _store = value;
                     return;
                     return;

+ 1 - 1
Jellyfin.Server/Program.cs

@@ -675,7 +675,7 @@ namespace Jellyfin.Server
 
 
         private static string NormalizeCommandLineArgument(string arg)
         private static string NormalizeCommandLineArgument(string arg)
         {
         {
-            if (!arg.Contains(" ", StringComparison.OrdinalIgnoreCase))
+            if (!arg.Contains(' ', StringComparison.Ordinal))
             {
             {
                 return arg;
                 return arg;
             }
             }

+ 1 - 1
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1452,7 +1452,7 @@ namespace MediaBrowser.Controller.Entities
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    Logger.LogError(ex, "Error refreshing owned items for {path}", Path ?? Name);
+                    Logger.LogError(ex, "Error refreshing owned items for {Path}", Path ?? Name);
                 }
                 }
             }
             }
 
 

+ 1 - 1
MediaBrowser.Controller/Entities/Folder.cs

@@ -303,7 +303,7 @@ namespace MediaBrowser.Controller.Entities
                 if (dictionary.ContainsKey(id))
                 if (dictionary.ContainsKey(id))
                 {
                 {
                     Logger.LogError(
                     Logger.LogError(
-                        "Found folder containing items with duplicate id. Path: {path}, Child Name: {ChildName}",
+                        "Found folder containing items with duplicate id. Path: {Path}, Child Name: {ChildName}",
                         Path ?? Name,
                         Path ?? Name,
                         child.Path ?? child.Name);
                         child.Path ?? child.Name);
                 }
                 }

+ 2 - 2
MediaBrowser.Controller/IO/FileData.cs

@@ -69,7 +69,7 @@ namespace MediaBrowser.Controller.IO
                         if (string.IsNullOrEmpty(newPath))
                         if (string.IsNullOrEmpty(newPath))
                         {
                         {
                             // invalid shortcut - could be old or target could just be unavailable
                             // invalid shortcut - could be old or target could just be unavailable
-                            logger.LogWarning("Encountered invalid shortcut: " + fullName);
+                            logger.LogWarning("Encountered invalid shortcut: {Path}", fullName);
                             continue;
                             continue;
                         }
                         }
 
 
@@ -83,7 +83,7 @@ namespace MediaBrowser.Controller.IO
                     }
                     }
                     catch (Exception ex)
                     catch (Exception ex)
                     {
                     {
-                        logger.LogError(ex, "Error resolving shortcut from {path}", fullName);
+                        logger.LogError(ex, "Error resolving shortcut from {Path}", fullName);
                     }
                     }
                 }
                 }
                 else if (flattenFolderDepth > 0 && isDirectory)
                 else if (flattenFolderDepth > 0 && isDirectory)

+ 1 - 1
MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs

@@ -144,7 +144,7 @@ namespace MediaBrowser.LocalMetadata.Savers
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                Logger.LogError(ex, "Error setting hidden attribute on {path}", path);
+                Logger.LogError(ex, "Error setting hidden attribute on {Path}", path);
             }
             }
         }
         }
 
 

+ 2 - 2
MediaBrowser.Providers/Manager/ItemImageProvider.cs

@@ -215,7 +215,7 @@ namespace MediaBrowser.Providers.Manager
             catch (Exception ex)
             catch (Exception ex)
             {
             {
                 result.ErrorMessage = ex.Message;
                 result.ErrorMessage = ex.Message;
-                _logger.LogError(ex, "Error in {provider}", provider.Name);
+                _logger.LogError(ex, "Error in {Provider}", provider.Name);
             }
             }
         }
         }
 
 
@@ -331,7 +331,7 @@ namespace MediaBrowser.Providers.Manager
             catch (Exception ex)
             catch (Exception ex)
             {
             {
                 result.ErrorMessage = ex.Message;
                 result.ErrorMessage = ex.Message;
-                _logger.LogError(ex, "Error in {provider}", provider.Name);
+                _logger.LogError(ex, "Error in {Provider}", provider.Name);
             }
             }
         }
         }
 
 

+ 3 - 3
MediaBrowser.Providers/Manager/MetadataService.cs

@@ -713,7 +713,7 @@ namespace MediaBrowser.Providers.Manager
                 }
                 }
                 catch (Exception ex)
                 catch (Exception ex)
                 {
                 {
-                    Logger.LogError(ex, "Error in {provider}", provider.Name);
+                    Logger.LogError(ex, "Error in {Provider}", provider.Name);
 
 
                     // If a local provider fails, consider that a failure
                     // If a local provider fails, consider that a failure
                     refreshResult.ErrorMessage = ex.Message;
                     refreshResult.ErrorMessage = ex.Message;
@@ -785,7 +785,7 @@ namespace MediaBrowser.Providers.Manager
             catch (Exception ex)
             catch (Exception ex)
             {
             {
                 refreshResult.ErrorMessage = ex.Message;
                 refreshResult.ErrorMessage = ex.Message;
-                Logger.LogError(ex, "Error in {provider}", provider.Name);
+                Logger.LogError(ex, "Error in {Provider}", provider.Name);
             }
             }
         }
         }
 
 
@@ -837,7 +837,7 @@ namespace MediaBrowser.Providers.Manager
                 {
                 {
                     refreshResult.Failures++;
                     refreshResult.Failures++;
                     refreshResult.ErrorMessage = ex.Message;
                     refreshResult.ErrorMessage = ex.Message;
-                    Logger.LogError(ex, "Error in {provider}", provider.Name);
+                    Logger.LogError(ex, "Error in {Provider}", provider.Name);
                 }
                 }
             }
             }
 
 

+ 1 - 1
MediaBrowser.XbmcMetadata/EntryPoint.cs

@@ -71,7 +71,7 @@ namespace MediaBrowser.XbmcMetadata
             }
             }
             catch (Exception ex)
             catch (Exception ex)
             {
             {
-                _logger.LogError(ex, "Error saving metadata for {path}", item.Path ?? item.Name);
+                _logger.LogError(ex, "Error saving metadata for {Path}", item.Path ?? item.Name);
             }
             }
         }
         }
     }
     }

+ 6 - 0
jellyfin.ruleset

@@ -42,6 +42,8 @@
     <Rule Id="CA1305" Action="Error" />
     <Rule Id="CA1305" Action="Error" />
     <!-- error on CA1725: Parameter names should match base declaration -->
     <!-- error on CA1725: Parameter names should match base declaration -->
     <Rule Id="CA1725" Action="Error" />
     <Rule Id="CA1725" Action="Error" />
+    <!-- error on CA1725: Call async methods when in an async method -->
+    <Rule Id="CA1727" Action="Error" />
     <!-- error on CA2016: Forward the CancellationToken parameter to methods that take one
     <!-- error on CA2016: Forward the CancellationToken parameter to methods that take one
         or pass in 'CancellationToken.None' explicitly to indicate intentionally not propagating the token -->
         or pass in 'CancellationToken.None' explicitly to indicate intentionally not propagating the token -->
     <Rule Id="CA2016" Action="Error" />
     <Rule Id="CA2016" Action="Error" />
@@ -77,6 +79,8 @@
     <Rule Id="CA1822" Action="Info" />
     <Rule Id="CA1822" Action="Info" />
     <!-- disable warning CA2000: Dispose objects before losing scope -->
     <!-- disable warning CA2000: Dispose objects before losing scope -->
     <Rule Id="CA2000" Action="Info" />
     <Rule Id="CA2000" Action="Info" />
+    <!-- disable warning CA2253: Named placeholders should not be numeric values -->
+    <Rule Id="CA2253" Action="Info" />
     <!-- disable warning CA5394: Do not use insecure randomness -->
     <!-- disable warning CA5394: Do not use insecure randomness -->
     <Rule Id="CA5394" Action="Info" />
     <Rule Id="CA5394" Action="Info" />
 
 
@@ -90,6 +94,8 @@
     <Rule Id="CA1303" Action="None" />
     <Rule Id="CA1303" Action="None" />
     <!-- disable warning CA1308: Normalize strings to uppercase -->
     <!-- disable warning CA1308: Normalize strings to uppercase -->
     <Rule Id="CA1308" Action="None" />
     <Rule Id="CA1308" Action="None" />
+    <!-- disable warning CA1848: Use the LoggerMessage delegates -->
+    <Rule Id="CA1848" Action="None" />
     <!-- disable warning CA2101: Specify marshaling for P/Invoke string arguments -->
     <!-- disable warning CA2101: Specify marshaling for P/Invoke string arguments -->
     <Rule Id="CA2101" Action="None" />
     <Rule Id="CA2101" Action="None" />
     <!-- disable warning CA2234: Pass System.Uri objects instead of strings -->
     <!-- disable warning CA2234: Pass System.Uri objects instead of strings -->

+ 1 - 1
tests/Jellyfin.Server.Integration.Tests/Controllers/DashboardControllerTests.cs

@@ -40,7 +40,7 @@ namespace Jellyfin.Server.Integration.Tests.Controllers
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
             Assert.Equal(HttpStatusCode.OK, response.StatusCode);
             Assert.Equal(MediaTypeNames.Text.Html, response.Content.Headers.ContentType?.MediaType);
             Assert.Equal(MediaTypeNames.Text.Html, response.Content.Headers.ContentType?.MediaType);
             StreamReader reader = new StreamReader(typeof(TestPlugin).Assembly.GetManifestResourceStream("Jellyfin.Server.Integration.Tests.TestPage.html")!);
             StreamReader reader = new StreamReader(typeof(TestPlugin).Assembly.GetManifestResourceStream("Jellyfin.Server.Integration.Tests.TestPage.html")!);
-            Assert.Equal(await response.Content.ReadAsStringAsync(), reader.ReadToEnd());
+            Assert.Equal(await response.Content.ReadAsStringAsync().ConfigureAwait(false), await reader.ReadToEndAsync().ConfigureAwait(false));
         }
         }
 
 
         [Fact]
         [Fact]