diff options
Diffstat (limited to 'src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs')
-rw-r--r-- | src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs b/src/Ryujinx.Ui.Common/Configuration/LoggerModule.cs index 6cd63272..f22ee83a 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 { public static class LoggerModule { + public static string LogDirectoryPath { get; private set; } + public static void Initialize() { ConfigurationState.Instance.Logger.EnableDebug.Event += ReloadEnableDebug; @@ -82,21 +84,26 @@ namespace Ryujinx.Ui.Common.Configuration { if (e.NewValue) { - FileStream logFile = FileLogTarget.PrepareLogFile(AppDomain.CurrentDomain.BaseDirectory); + string logDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs"); + FileStream logFile = FileLogTarget.PrepareLogFile(logDir); if (logFile == null) { - logFile = FileLogTarget.PrepareLogFile(AppDataManager.BaseDirPath); + logDir = Path.Combine(AppDataManager.BaseDirPath, "Logs"); + logFile = FileLogTarget.PrepareLogFile(logDir); if (logFile == null) { Logger.Error?.Print(LogClass.Application, "No writable log directory available. Make sure either the application directory or the Ryujinx directory is writable."); + LogDirectoryPath = null; Logger.RemoveTarget("file"); return; } } + LogDirectoryPath = logDir; + Logger.AddTarget(new AsyncLogTargetWrapper( new FileLogTarget("file", logFile), 1000, |