示例#1
0
        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);
            }
        }
示例#2
0
 private static bool IsLogExist()
 {
     return(File.Exists(IniSettings.GetValue("PathToLogFile")));
 }
示例#3
0
        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();
            }
        }