aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2024-01-30 17:52:45 +0100
committerGitHub <noreply@github.com>2024-01-30 17:52:45 +0100
commit4505a7f162b2e7920d64ddfe2a70c4da6d8f9118 (patch)
treeb0c739c926499ef1534d22feab1914955a275162
parentccbbaddbcb6a0eb0cee0d2e2482546611237bee3 (diff)
Fix opening the wrong log directory (#6220)1.1.1152
-rw-r--r--src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs4
-rw-r--r--src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs2
-rw-r--r--src/Ryujinx.Headless.SDL2/Program.cs4
-rw-r--r--src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs11
-rw-r--r--src/Ryujinx/Ui/MainWindow.cs4
5 files changed, 16 insertions, 9 deletions
diff --git a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
index dff5b59bd..2caee16cd 100644
--- a/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
+++ b/src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
@@ -1352,9 +1352,9 @@ namespace Ryujinx.Ava.UI.ViewModels
1352 { 1352 {
1353 string logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs"); 1353 string logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
1354 1354
1355 if (ReleaseInformation.IsValid) 1355 if (LoggerModule.LogDirectoryPath != null)
1356 { 1356 {
1357 logPath = Path.Combine(AppDataManager.BaseDirPath, "Logs"); 1357 logPath = LoggerModule.LogDirectoryPath;
1358 } 1358 }
1359 1359
1360 new DirectoryInfo(logPath).Create(); 1360 new DirectoryInfo(logPath).Create();
diff --git a/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs b/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs
index c40c3abec..a4e8f7147 100644
--- a/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs
+++ b/src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs
@@ -23,7 +23,7 @@ namespace Ryujinx.Common.Logging.Targets
23 public static FileStream PrepareLogFile(string path) 23 public static FileStream PrepareLogFile(string path)
24 { 24 {
25 // Ensure directory is present 25 // Ensure directory is present
26 DirectoryInfo logDir = new(Path.Combine(path, "Logs")); 26 DirectoryInfo logDir = new(path);
27 try 27 try
28 { 28 {
29 logDir.Create(); 29 logDir.Create();
diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs
index 6eaa1b860..c23002757 100644
--- a/src/Ryujinx.Headless.SDL2/Program.cs
+++ b/src/Ryujinx.Headless.SDL2/Program.cs
@@ -427,11 +427,11 @@ namespace Ryujinx.Headless.SDL2
427 427
428 if (!option.DisableFileLog) 428 if (!option.DisableFileLog)
429 { 429 {
430 FileStream logFile = FileLogTarget.PrepareLogFile(AppDomain.CurrentDomain.BaseDirectory); 430 FileStream logFile = FileLogTarget.PrepareLogFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs"));
431 431
432 if (logFile == null) 432 if (logFile == null)
433 { 433 {
434 logFile = FileLogTarget.PrepareLogFile(AppDataManager.BaseDirPath); 434 logFile = FileLogTarget.PrepareLogFile(Path.Combine(AppDataManager.BaseDirPath, "Logs"));
435 435
436 if (logFile == null) 436 if (logFile == null)
437 { 437 {
diff --git a/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs b/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs
index 6cd63272e..f22ee83ae 100644
--- a/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs
+++ b/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs
@@ -9,6 +9,8 @@ namespace Ryujinx.Ui.Common.Configuration
9{ 9{
10 public static class LoggerModule 10 public static class LoggerModule
11 { 11 {
12 public static string LogDirectoryPath { get; private set; }
13
12 public static void Initialize() 14 public static void Initialize()
13 { 15 {
14 ConfigurationState.Instance.Logger.EnableDebug.Event += ReloadEnableDebug; 16 ConfigurationState.Instance.Logger.EnableDebug.Event += ReloadEnableDebug;
@@ -82,21 +84,26 @@ namespace Ryujinx.Ui.Common.Configuration
82 { 84 {
83 if (e.NewValue) 85 if (e.NewValue)
84 { 86 {
85 FileStream logFile = FileLogTarget.PrepareLogFile(AppDomain.CurrentDomain.BaseDirectory); 87 string logDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
88 FileStream logFile = FileLogTarget.PrepareLogFile(logDir);
86 89
87 if (logFile == null) 90 if (logFile == null)
88 { 91 {
89 logFile = FileLogTarget.PrepareLogFile(AppDataManager.BaseDirPath); 92 logDir = Path.Combine(AppDataManager.BaseDirPath, "Logs");
93 logFile = FileLogTarget.PrepareLogFile(logDir);
90 94
91 if (logFile == null) 95 if (logFile == null)
92 { 96 {
93 Logger.Error?.Print(LogClass.Application, "No writable log directory available. Make sure either the application directory or the Ryujinx directory is writable."); 97 Logger.Error?.Print(LogClass.Application, "No writable log directory available. Make sure either the application directory or the Ryujinx directory is writable.");
98 LogDirectoryPath = null;
94 Logger.RemoveTarget("file"); 99 Logger.RemoveTarget("file");
95 100
96 return; 101 return;
97 } 102 }
98 } 103 }
99 104
105 LogDirectoryPath = logDir;
106
100 Logger.AddTarget(new AsyncLogTargetWrapper( 107 Logger.AddTarget(new AsyncLogTargetWrapper(
101 new FileLogTarget("file", logFile), 108 new FileLogTarget("file", logFile),
102 1000, 109 1000,
diff --git a/src/Ryujinx/Ui/MainWindow.cs b/src/Ryujinx/Ui/MainWindow.cs
index 3cd2b0eb6..1ecbb9ea0 100644
--- a/src/Ryujinx/Ui/MainWindow.cs
+++ b/src/Ryujinx/Ui/MainWindow.cs
@@ -1378,9 +1378,9 @@ namespace Ryujinx.Ui
1378 { 1378 {
1379 string logPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs"); 1379 string logPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
1380 1380
1381 if (ReleaseInformation.IsValid) 1381 if (LoggerModule.LogDirectoryPath != null)
1382 { 1382 {
1383 logPath = System.IO.Path.Combine(AppDataManager.BaseDirPath, "Logs"); 1383 logPath = LoggerModule.LogDirectoryPath;
1384 } 1384 }
1385 1385
1386 new DirectoryInfo(logPath).Create(); 1386 new DirectoryInfo(logPath).Create();