using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; namespace GCHR.Control { public class Logger { public static string ConfigDatei = "config\\gchr.xml"; public static string LogDatei { get { return "logs\\" + Regex.Match(ConfigDatei, @"\w*\.xml$") + ".log"; } } public static string ExportLog = LogDatei; public static void Info(string message) { lock(LogDatei) { Log(message, LogDatei); } } public static void Progress(string message) { lock(ExportLog) { Log(message, ExportLog); } } private static void Log(string message, string datei) { using (var sw = new StreamWriter(datei, true)) { sw.WriteLine(message); } } public static bool DateiExistiert { get { return File.Exists(LogDatei); } } public static List Historie() { if (!File.Exists(LogDatei)) return new List(); using (var sr = new StreamReader(LogDatei, true)) { var list = new List(); while (!sr.EndOfStream) { var line = sr.ReadLine(); if (line != null && Regex.IsMatch(line, @" - \d{2}/\d{4}$")) { list.Add(line); } } return list; } } } }