diff options
Diffstat (limited to 'src/Ryujinx.Common/Logging/Targets')
4 files changed, 39 insertions, 31 deletions
diff --git a/src/Ryujinx.Common/Logging/Targets/AsyncLogTargetWrapper.cs b/src/Ryujinx.Common/Logging/Targets/AsyncLogTargetWrapper.cs index ddc547ac..226318b0 100644 --- a/src/Ryujinx.Common/Logging/Targets/AsyncLogTargetWrapper.cs +++ b/src/Ryujinx.Common/Logging/Targets/AsyncLogTargetWrapper.cs @@ -14,16 +14,16 @@ namespace Ryujinx.Common.Logging.Targets /// <summary> /// Discard the overflowing item /// </summary> - Discard = 1 + Discard = 1, } public class AsyncLogTargetWrapper : ILogTarget { - private ILogTarget _target; + private readonly ILogTarget _target; - private Thread _messageThread; + private readonly Thread _messageThread; - private BlockingCollection<LogEventArgs> _messageQueue; + private readonly BlockingCollection<LogEventArgs> _messageQueue; private readonly int _overflowTimeout; @@ -35,11 +35,12 @@ namespace Ryujinx.Common.Logging.Targets public AsyncLogTargetWrapper(ILogTarget target, int queueLimit, AsyncLogTargetOverflowAction overflowAction) { - _target = target; - _messageQueue = new BlockingCollection<LogEventArgs>(queueLimit); + _target = target; + _messageQueue = new BlockingCollection<LogEventArgs>(queueLimit); _overflowTimeout = overflowAction == AsyncLogTargetOverflowAction.Block ? -1 : 0; - _messageThread = new Thread(() => { + _messageThread = new Thread(() => + { while (!_messageQueue.IsCompleted) { try @@ -55,10 +56,11 @@ namespace Ryujinx.Common.Logging.Targets // on the next iteration. } } - }); - - _messageThread.Name = "Logger.MessageThread"; - _messageThread.IsBackground = true; + }) + { + Name = "Logger.MessageThread", + IsBackground = true, + }; _messageThread.Start(); } @@ -72,8 +74,9 @@ namespace Ryujinx.Common.Logging.Targets public void Dispose() { + GC.SuppressFinalize(this); _messageQueue.CompleteAdding(); _messageThread.Join(); } } -}
\ No newline at end of file +} diff --git a/src/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs b/src/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs index b5986461..16735834 100644 --- a/src/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs +++ b/src/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs @@ -11,20 +11,21 @@ namespace Ryujinx.Common.Logging.Targets string ILogTarget.Name { get => _name; } - private static ConsoleColor GetLogColor(LogLevel level) => level switch { - LogLevel.Info => ConsoleColor.White, + private static ConsoleColor GetLogColor(LogLevel level) => level switch + { + LogLevel.Info => ConsoleColor.White, LogLevel.Warning => ConsoleColor.Yellow, - LogLevel.Error => ConsoleColor.Red, - LogLevel.Stub => ConsoleColor.DarkGray, - LogLevel.Notice => ConsoleColor.Cyan, - LogLevel.Trace => ConsoleColor.DarkCyan, - _ => ConsoleColor.Gray, + LogLevel.Error => ConsoleColor.Red, + LogLevel.Stub => ConsoleColor.DarkGray, + LogLevel.Notice => ConsoleColor.Cyan, + LogLevel.Trace => ConsoleColor.DarkCyan, + _ => ConsoleColor.Gray, }; public ConsoleLogTarget(string name) { _formatter = new DefaultLogFormatter(); - _name = name; + _name = name; } public void Log(object sender, LogEventArgs args) @@ -36,7 +37,8 @@ namespace Ryujinx.Common.Logging.Targets public void Dispose() { + GC.SuppressFinalize(this); Console.ResetColor(); } } -}
\ No newline at end of file +} diff --git a/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs b/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs index 2cc4a823..8d1a94e5 100644 --- a/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs +++ b/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs @@ -7,9 +7,9 @@ namespace Ryujinx.Common.Logging.Targets { public class FileLogTarget : ILogTarget { - private readonly StreamWriter _logWriter; + private readonly StreamWriter _logWriter; private readonly ILogFormatter _formatter; - private readonly string _name; + private readonly string _name; string ILogTarget.Name { get => _name; } @@ -20,7 +20,7 @@ namespace Ryujinx.Common.Logging.Targets public FileLogTarget(string path, string name, FileShare fileShare, FileMode fileMode) { // Ensure directory is present - DirectoryInfo logDir = new DirectoryInfo(Path.Combine(path, "Logs")); + DirectoryInfo logDir = new(Path.Combine(path, "Logs")); logDir.Create(); // Clean up old logs, should only keep 3 @@ -33,9 +33,9 @@ namespace Ryujinx.Common.Logging.Targets string version = ReleaseInformation.GetVersion(); // Get path for the current time - path = Path.Combine(logDir.FullName, $"Ryujinx_{version}_{DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss")}.log"); + path = Path.Combine(logDir.FullName, $"Ryujinx_{version}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log"); - _name = name; + _name = name; _logWriter = new StreamWriter(File.Open(path, fileMode, FileAccess.Write, fileShare)); _formatter = new DefaultLogFormatter(); } @@ -48,6 +48,7 @@ namespace Ryujinx.Common.Logging.Targets public void Dispose() { + GC.SuppressFinalize(this); _logWriter.WriteLine("---- End of Log ----"); _logWriter.Flush(); _logWriter.Dispose(); diff --git a/src/Ryujinx.Common/Logging/Targets/JsonLogTarget.cs b/src/Ryujinx.Common/Logging/Targets/JsonLogTarget.cs index ae264e59..1873dc60 100644 --- a/src/Ryujinx.Common/Logging/Targets/JsonLogTarget.cs +++ b/src/Ryujinx.Common/Logging/Targets/JsonLogTarget.cs @@ -1,25 +1,26 @@ using Ryujinx.Common.Utilities; +using System; using System.IO; namespace Ryujinx.Common.Logging.Targets { public class JsonLogTarget : ILogTarget { - private Stream _stream; - private bool _leaveOpen; - private string _name; + private readonly Stream _stream; + private readonly bool _leaveOpen; + private readonly string _name; string ILogTarget.Name { get => _name; } public JsonLogTarget(Stream stream, string name) { _stream = stream; - _name = name; + _name = name; } public JsonLogTarget(Stream stream, bool leaveOpen) { - _stream = stream; + _stream = stream; _leaveOpen = leaveOpen; } @@ -31,6 +32,7 @@ namespace Ryujinx.Common.Logging.Targets public void Dispose() { + GC.SuppressFinalize(this); if (!_leaveOpen) { _stream.Dispose(); |
