Browse Source

Redact usernames from logs (#6255)

* Redact usernames from logs

* Changed internal vars to private and applied naming rules

* Use Directory.GetParent() instead of DirectoryInfo

* Update src/Ryujinx.Common/Logging/Logger.cs

---------

Co-authored-by: Ac_K <Acoustik666@gmail.com>
SamusAranX 2 years ago
parent
commit
6c90d50c8e
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/Ryujinx.Common/Logging/Logger.cs

+ 10 - 1
src/Ryujinx.Common/Logging/Logger.cs

@@ -3,6 +3,7 @@ using Ryujinx.Common.SystemInterop;
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;
+using System.IO;
 using System.Runtime.CompilerServices;
 using System.Threading;
 
@@ -22,6 +23,9 @@ namespace Ryujinx.Common.Logging
 
         public readonly struct Log
         {
+            private static readonly string _homeDir = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
+            private static readonly string _homeDirRedacted = Path.Combine(Directory.GetParent(_homeDir).FullName, "[redacted]");
+
             internal readonly LogLevel Level;
 
             internal Log(LogLevel level)
@@ -100,7 +104,12 @@ namespace Ryujinx.Common.Logging
             }
 
             [MethodImpl(MethodImplOptions.AggressiveInlining)]
-            private static string FormatMessage(LogClass logClass, string caller, string message) => $"{logClass} {caller}: {message}";
+            private static string FormatMessage(LogClass logClass, string caller, string message)
+            {
+                message = message.Replace(_homeDir, _homeDirRedacted);
+
+                return $"{logClass} {caller}: {message}";
+            }
         }
 
         public static Log? Debug { get; private set; }