Skip to content
Небольшая библиотека для логирования работы скриптов
1C Enterprise
Branch: master
Clone or download
Pull request Compare This branch is 1 commit behind Tavalik:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Screenshots
src/Classes
README.md
lib.config
packagedef
ПримерИспользования_TLog.os

README.md

TLog

Библиотека для логирования работы скриптов

Описание

Библиотека на OneScript для организации логирования различных операций, выполняемых в скриптах.

Установка

Установка через пакетный менеджер opm командой:

opm install tlog

Использование библиотеки

Библиотека подключается как отдельный класс. Экземпляр класса используется для ведения текущего лога.

Подключение библиотеки:

#Использовать TLog

Создание класса:

Логирование = Новый ТУправлениеЛогированием();

Параметры класса:

  • ИмяФайлаЛога - Имя файла в который будет записываться лог
  • ТекстОшибки - Переменная для возврата ошибки, если таковая имела место быть
  • РазделительУровней - Строка для разделением уровней (отступ), по умолчанию - Табуляция
  • Уровень - Количество строк разделения уровноей, добавленных в текущую строку лога
  • ДатаВремяВКаждойСтроке - При установки в значение Истина, добавляет текущую дату и время в начало каждой строки, по умолчани - ЛОЖЬ
  • ВыводитьСообщенияПриЗаписи - Вывод сообщений при записи в лог, при установке в значение Истина, все строки лога будут выведены в сообщении, по умолчанию - ИСТИНА

Экспортные процедуры класса:

Функция СоздатьФайлЛога(ИмяЗадания = "Log", Знач ИмяКаталога = ".")

  • В указанном каталоге создает каталог с имененм задания и файл лога, имя файла сохраняется в глобальной переменной ИмяФайлаЛога.
  • Параметры:
    • ИмяЗадания - Строка - ИмяЗадания или идентификатор лога
    • ИмяКаталога - Строка - Конечный каталог для хранения логов

Функция ЗаписатьСтрокуЛога(СтрокаЛога="", ДобавитьУровеней=0)

  • Записывает строку лога в файл лога (Путь к файлу хранится в глобальной переменной ИмяФайлаЛога). Запись текста инициируется и закрывается при каждом вызове процедуры.
  • Параметры:
    • СтрокаЛога - Строка - Строка лога для записи
    • ДобавитьУровеней - Число - Добавляет указанное число уровней в текущаю строку лога. По умочанию на 0.

Процедура УвеличитьУровень(ДобавитьУровеней=1)

  • Добавляет количество уровней.
  • Параметры:
    • ДобавитьУровеней - Число - Увеличиват значение переменной Уровень на указанное число. По умочанию на 1.

УменьшитьУровень(ВычестьУровеней=1)

  • Уменьшает количество уровней
  • Параметры:
    • ВычестьУровеней - Число - Уменьшает значение переменной Уровень на указанное число. По умочанию на 1.

Пример использования

#Использовать Tlog 

// Создадим объект
Логирование = Новый ТУправлениеЛогированием();
Логирование.ДатаВремяВКаждойСтроке = Истина; 

// Флаг наличия ошибок
БылиОшибки = Ложь;

// Создадим необходимые файлы
Если РабочийКаталог = "" Тогда
    РабочийКаталог = ".\";
КонецЕсли;
РабочийКаталог = ОбъединитьПути(РабочийКаталог,"Test_TLog");
СоздатьКаталог(РабочийКаталог);

// Создадим файл лога
Если Логирование.СоздатьФайлЛога("ТестовоеЗадание",РабочийКаталог) Тогда
    Сообщить("СоздатьФайлЛога: УСПЕШНО");
Иначе
    Сообщить("СоздатьФайлЛога: " + Логирование.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

// Запишем строку
Если Логирование.ЗаписатьСтрокуЛога("Начало процедуры") Тогда
    Сообщить("ЗаписатьСтрокуЛога: УСПЕШНО");
Иначе
    Сообщить("ЗаписатьСтрокуЛога: " + Логирование.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;
Приостановить(1000);

// Запишем строку с отступом
Логирование.УвеличитьУровень();
Если Логирование.ЗаписатьСтрокуЛога("Строка второго уровня") Тогда
    Сообщить("ЗаписатьСтрокуЛога: УСПЕШНО");
Иначе
    Сообщить("ЗаписатьСтрокуЛога: " + Логирование.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;
Логирование.УменьшитьУровень();

// Запишем строку
Если Логирование.ЗаписатьСтрокуЛога("Окончание процедуры") Тогда
    Сообщить("ЗаписатьСтрокуЛога: УСПЕШНО");
Иначе
    Сообщить("ЗаписатьСтрокуЛога: " + Логирование.ТекстОшибки);
    БылиОшибки = Истина;
КонецЕсли;

//Удалим каталог
УдалитьФайлы(РабочийКаталог,"*.*");
УдалитьФайлы(РабочийКаталог);

Результат:

Скриншот1

Скриншот2

You can’t perform that action at this time.