diff --git a/Engine.Core/Debug/FileLogger.cs b/Engine.Core/Debug/FileLogger.cs index 9c44b11..98b4032 100644 --- a/Engine.Core/Debug/FileLogger.cs +++ b/Engine.Core/Debug/FileLogger.cs @@ -7,18 +7,23 @@ public class FileLogger : LoggerBase { public readonly string FilePath; - public FileLogger(string filePath) - { - FilePath = filePath; - - if (Path.GetDirectoryName(filePath) is string directoryPath) - Directory.CreateDirectory(directoryPath); - - File.Open(filePath, FileMode.Create).Close(); - } - protected override void Write(string message) { File.AppendAllTextAsync(FilePath, $"{message}{Environment.NewLine}"); } + + public FileLogger(string filePath) + { + FilePath = filePath; + + bool isRelativePath = Path.GetFullPath(filePath).CompareTo(filePath) != 0; + + if (isRelativePath) + FilePath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filePath)); + + if (Path.GetDirectoryName(FilePath) is string directoryPath) + Directory.CreateDirectory(directoryPath); + + File.Open(FilePath, FileMode.Create).Close(); + } }