using System; using System.IO; namespace GameCult.Logging { /// /// Appends timestamped log entries to a file on disk. /// public class FileLogger : ILogger { private readonly string _logPath; /// /// Initializes a new file-backed logger. /// /// The path to the log file to append to. public FileLogger(string logPath = "server.log") { _logPath = logPath; } private void Append(string level, string message) { File.AppendAllText(_logPath, $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] [{level}] {message}\n"); } /// public void LogInfo(string message) => Append("INFO", message); /// public void LogWarning(string message) => Append("WARN", message); /// public void LogError(string message) => Append("ERROR", message); /// public void LogDebug(string message) => Append("DEBUG", message); } }