namespace ClinicBackupSync; static class AppLog { static readonly Lock Gate = new(); public static void Write(string message) { var line = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} {message}{Environment.NewLine}"; lock (Gate) { try { Directory.CreateDirectory(AppPaths.DataDirectory); using var stream = new FileStream(AppPaths.LogFile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); var bytes = System.Text.Encoding.UTF8.GetBytes(line); stream.Write(bytes); } catch (IOException) { } catch (UnauthorizedAccessException) { } } } public static bool Clear() { lock (Gate) { try { Directory.CreateDirectory(AppPaths.DataDirectory); using var stream = new FileStream(AppPaths.LogFile, FileMode.Create, FileAccess.Write, FileShare.ReadWrite); return true; } catch (IOException) { return false; } catch (UnauthorizedAccessException) { return false; } } } }