private static void CreateFile() { try { using (FileStream FileStream = new FileStream(IniSettings.GetValue("PathToLogFile"), FileMode.OpenOrCreate)) { } Log("Создание файла конфигурации", RecordType.INFO, Source.System); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private static bool IsLogExist() { return(File.Exists(IniSettings.GetValue("PathToLogFile"))); }
public static void Log(String Message, RecordType RecordType, Source Source) { if (IsLogExist()) { DateTime CurrentTime = DateTime.Now; string Record = ""; //Запись в файл через поток using (FileStream FileStream = new FileStream(IniSettings.GetValue("PathToLogFile"), FileMode.Open)) { FileStream.Seek(0, SeekOrigin.End); //Добавление к записи дату Record += CurrentTime.ToString("dd.MM.yyyy hh:mm:ss") + " |"; //Формирование сообщения в зависимости от источника switch (Source) { case Source.Parser: { Record += " Parser |"; break; } case Source.UDP: { Record += " UDP |"; break; } case Source.System: { Record += " System |"; break; } } //Формирование сообщения в зависимости от типа switch (RecordType) { case RecordType.INFO: { Record += " INFO |"; break; } case RecordType.WARNING: { Record += " WARNING |"; break; } case RecordType.ERROR: { Record += " ERROR |"; break; } } //Добавление сообщения Record += " " + Message + "\n"; byte[] array = Encoding.Default.GetBytes(Record); //Запись массива байтов в файл FileStream.Write(array, 0, array.Length); } OnLog?.Invoke(new Logger(), new LoggerEventArgs(Record, Source)); } else { CreateFile(); } }