//Форматировуем строку на вывод в лог, добавляем юзеров static string RowFormat(string formateDate, int volumeMax, int volume, RandomDateTime date, Random water, Random user, Random active) { string finalRow = null; formateDate = date.Next().ToString("yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture); string username = "******" + user.Next(10) + "]"; string action = null; int waterChange; //Генерация случайного значения литража waterChange = water.Next(1, 50); int switchTumbler = active.Next(2); //Генерация строки действия switch (switchTumbler) { case 0: action = $"wanna top up {waterChange}l"; break; case 1: action = $"wanna scroop {waterChange}l"; break; } //Объединяем строки finalRow = $"{formateDate} - {username} - {action}"; return(finalRow); }
static void FullLog(string pathProgDirectory, string logPath, int volumeMax, int volume) { try { using (FileStream logStream = new FileStream(pathProgDirectory + logPath + "log.log", FileMode.Create)) using (StreamWriter logWrite = new StreamWriter(logStream)) { logWrite.WriteLine("META DATA:"); logWrite.WriteLine(volumeMax); logWrite.WriteLine(volume); logWrite.Close(); } //Здесь, потому что в цикле показывает одиаковые числа RandomDateTime date = new RandomDateTime(); //Случаная дата Random user = new Random(); //Случайный пользователь Random active = new Random(); //Случайное событие Random water = new Random(); //Случайное количество воды string row = null; string formateDate = null; long size; int sizeMax = 1048576; do { FileInfo file = new FileInfo(pathProgDirectory + logPath + "log.log"); size = file.Length; row = RowFormat(formateDate, volumeMax, volume, date, user, active, water); File.AppendAllText(pathProgDirectory + logPath + "log.log", row); File.AppendAllText(pathProgDirectory + logPath + "log.log", Environment.NewLine); Thread.Sleep(10); }while (size <= sizeMax); Console.WriteLine("Файл записан"); Console.ReadKey(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }