понедельник, 15 января 2018 г.

Логгер

Логгер

Общие модули
&НаСервере  
Процедура  Логгер (Метод, Аргумент, Значение) Export
 //////////////////// ИЗМЕНИТЬ ПРИ НАЧАЛЕ ИСПОЛЬЗОВАНИЯ!!!!! ///////////////////
  Каталог = "C:\SystemData\LogPortal\Protei\";
  ////////////////////////////////////////////////////////////////////////////////
  // формат лога: <дата_время> <пользователь> <метод/ошибка> <аргумент> <значение>
  //формирование дата_время, пользователь на сервере, метод, аргумент, значение - в процедуре
  ДатаЗаписи = Формат(ТекущаяДата(), "ДФ='dd.MM.yyyy' ");     //для формирования наименования файла
  ДатаВремяЗаписи = Формат(ТекущаяДата(), "ДФ='dd.MM.yyyy HH:mm:ss' ");
  Дописывать = Истина;
  ЗаписьТекста = Новый ЗаписьТекста(Каталог + "log_" + ДатаЗаписи + ".txt", КодировкаТекста.UTF8,,Дописывать);
  //ЗаписьТекста.ЗаписатьСтроку(СформироватьЗаголовок("Лог работы 1С с порталом за " + ТекущаяДата()));
  Текст = ДатаВремяЗаписи + " " + ПараметрыСеанса.ТекущийПользователь + " " +  Аргумент + " " +  Значение;
  ЗаписьТекста.ЗаписатьСтроку(Текст);
  ЗаписьТекста.Закрыть();
КонецПроцедуры    

Вызов логгера из любой процедуры или финкции:

ПорталПротейНаСервере.Логгер(ТипЗапроса + АдресСтраницыНаСервере + httpResponse  , "StatusCode = " + ОтветHTTP.КодСостояния, ТекстОшибки );

Просмотр логов из формы

&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) 
 Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
 Диалог.Заголовок = "Выберите имя файла для сохранения";
 Диалог.МножественныйВыбор = Ложь;
 Диалог.Фильтр = "Текстовый файл(*.txt)|*.txt"; 
 Если Диалог.Выбрать() Тогда
  ИмяФайла = Диалог.ПолноеИмяФайла;
  ВыбранныйФайл = Новый Файл(ИмяФайла);
  Если ВыбранныйФайл.Существует() Тогда
   ТекстИзФайла = Новый ТекстовыйДокумент;
   ТекстИзФайла.Прочитать(ИмяФайла);
   Текст = ТекстИзФайла.ПолучитьТекст();
   ИмяЛогФайла = ИмяФайла;
   //Файл.Закрыть();
  КонецЕсли;
 КонецЕсли;
КонецПроцедуры


&НаКлиенте
Процедура КомандаОбновитьЛогФайл(Команда)
 ИмяФайла = ЭтаФорма.ИмяЛогФайла;
 Если ИмяФайла = "" Тогда
  ПоказатьПредупреждение (,"Че обновлять-то будем? Имя файла выбрано.",,"Информация"); 
 Иначе
   ТекстИзФайла = Новый ТекстовыйДокумент;
   ТекстИзФайла.Прочитать(ИмяФайла);
   Текст = ТекстИзФайла.ПолучитьТекст();
   //ИмяЛогФайла = ИмяФайла;
   //Файл.Закрыть();
 КонецЕсли;
КонецПроцедуры


Комментариев нет: