using System; using System.IO; namespace Syntriax.Engine.Core.Debug; public class FileLogger : LoggerBase { public readonly string FilePath; 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(); } }