diff options
author | TSRBerry <20988865+TSRBerry@users.noreply.github.com> | 2024-01-30 17:52:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-30 17:52:45 +0100 |
commit | 4505a7f162b2e7920d64ddfe2a70c4da6d8f9118 (patch) | |
tree | b0c739c926499ef1534d22feab1914955a275162 | |
parent | ccbbaddbcb6a0eb0cee0d2e2482546611237bee3 (diff) |
Fix opening the wrong log directory (#6220)1.1.1152
-rw-r--r-- | src/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs | 4 | ||||
-rw-r--r-- | src/Ryujinx.Common/Logging/Targets/FileLogTarget.cs | 2 | ||||
-rw-r--r-- | src/Ryujinx.Headless.SDL2/Program.cs | 4 | ||||
-rw-r--r-- | src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs | 11 | ||||
-rw-r--r-- | src/Ryujinx/Ui/MainWindow.cs | 4 |
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(); |