From 84d6e8d121a1b329d26cc0e462aadd1108d99a04 Mon Sep 17 00:00:00 2001 From: jcm Date: Sat, 10 Feb 2024 19:17:19 -0600 Subject: Standardize logging locations across desktop platforms (#6238) * Standardize logging locations across desktop platforms * Return null instead of empty literal on exceptions * Remove LogDirectoryPath from LoggerModule * Catch exception when creating DirectoryInfo in FileLogTarget * Remove redundant log path vars, handle exception better, add null check * Address styling issues * Remove extra newline, quote file path in log, move directory check to OpenHelper * Add GetOrCreateLogsDir to get/create log directory during runtime * misc format changes * Update src/Ryujinx.Common/Configuration/AppDataManager.cs --------- Co-authored-by: jcm Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Co-authored-by: Ac_K --- src/Ryujinx.Headless.SDL2/Program.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/Ryujinx.Headless.SDL2/Program.cs') diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs index c2300275..85aff671 100644 --- a/src/Ryujinx.Headless.SDL2/Program.cs +++ b/src/Ryujinx.Headless.SDL2/Program.cs @@ -427,16 +427,12 @@ namespace Ryujinx.Headless.SDL2 if (!option.DisableFileLog) { - FileStream logFile = FileLogTarget.PrepareLogFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs")); + string logDir = AppDataManager.LogsDirPath; + FileStream logFile = null; - if (logFile == null) + if (!string.IsNullOrEmpty(logDir)) { - logFile = FileLogTarget.PrepareLogFile(Path.Combine(AppDataManager.BaseDirPath, "Logs")); - - 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."); - } + logFile = FileLogTarget.PrepareLogFile(logDir); } if (logFile != null) @@ -447,6 +443,10 @@ namespace Ryujinx.Headless.SDL2 AsyncLogTargetOverflowAction.Block )); } + else + { + Logger.Error?.Print(LogClass.Application, "No writable log directory available. Make sure either the Logs directory, Application Data, or the Ryujinx directory is writable."); + } } // Setup graphics configuration -- cgit v1.2.3