diff --git a/src/CopyBase.os b/src/CopyBase.os index c614763..6f8db91 100644 --- a/src/CopyBase.os +++ b/src/CopyBase.os @@ -92,6 +92,8 @@ _Замер = Новый Замер(); + _Лог.УстановитьРаскладку(_Замер); + _Замер.НачатьЗамер(); _Замер.НачатьЗамер( "Начат разбор параметров", "РазборПараметров" ); @@ -114,13 +116,8 @@ выполнениеБекапа = Новый РаботаСSQL(); - Если _Лог.Уровень() = УровниЛога.Отладка Тогда - - логSQL = Логирование.ПолучитьЛог(выполнениеБекапа.ИмяЛога()); - логSQL.УстановитьУровень( УровниЛога.Отладка ); - - КонецЕсли; - + выполнениеБекапа.ИнициализироватьЛог( _Лог.Уровень(), _Замер.ПолучитьПотомка() ); + выполнениеБекапа.УстановитьСервер( пПараметры["Source_SQL.Server"] ); выполнениеБекапа.УстановитьПользователя( пПараметры["Source_SQL.User"] ); выполнениеБекапа.УстановитьПароль( пПараметры["Source_SQL.Password"] ); @@ -146,12 +143,7 @@ проверкаСоединения = Новый РаботаСSQL(); - Если _Лог.Уровень() = УровниЛога.Отладка Тогда - - логSQL = Логирование.ПолучитьЛог(проверкаСоединения.ИмяЛога()); - логSQL.УстановитьУровень( УровниЛога.Отладка ); - - КонецЕсли; + проверкаСоединения.ИнициализироватьЛог( _Лог.Уровень(), _Замер.ПолучитьПотомка() ); проверкаСоединения.УстановитьСервер( пПараметры["Current_SQL.Server"] ); проверкаСоединения.УстановитьПользователя( пПараметры["Current_SQL.User"] ); @@ -187,12 +179,7 @@ выполнениеВосстановления = Новый РаботаСSQL(); - Если _Лог.Уровень() = УровниЛога.Отладка Тогда - - логSQL = Логирование.ПолучитьЛог(выполнениеВосстановления.ИмяЛога()); - логSQL.УстановитьУровень( УровниЛога.Отладка ); - - КонецЕсли; + выполнениеВосстановления.ИнициализироватьЛог( _Лог.Уровень(), _Замер.ПолучитьПотомка() ); выполнениеВосстановления.УстановитьСервер( пПараметры["Current_SQL.Server"] ); выполнениеВосстановления.УстановитьПользователя( пПараметры["Current_SQL.User"] ); @@ -237,12 +224,10 @@ Конфигуратор = Новый УправлениеКонфигуратором; - Если _Лог.Уровень() = УровниЛога.Отладка Тогда - - логSQL = Логирование.ПолучитьЛог("oscript.lib.v8runner"); - логSQL.УстановитьУровень( УровниЛога.Отладка ); - - КонецЕсли; + логРаннер = Логирование.ПолучитьЛог("oscript.lib.v8runner"); + логРаннер.УстановитьУровень( _Лог.Уровень() ); + замерПотомок = _Замер.ПолучитьПотомка(); + логРаннер.УстановитьРаскладку( замерПотомок ); Конфигуратор.УстановитьКонтекст(пПараметры["Current_Base.Connect"], пПараметры["Current_Base.User"], пПараметры["Current_Base.Password"]); Конфигуратор.ПутьКПлатформе1С( пПараметры["EXE1CV8"] ); diff --git a/src/Классы/Замер.os b/src/Классы/Замер.os index f494223..ab70d7f 100644 --- a/src/Классы/Замер.os +++ b/src/Классы/Замер.os @@ -1,8 +1,11 @@ +#Использовать logos Перем _Замеры; Перем _ОбщееВремяНачала; Перем _ПоследнийЗамер; +Перем _Отступ; + Процедура НачатьЗамер( Знач пСообщение = "", Знач пКлючЗамера = "" ) Экспорт Если Не ТипЗнч( _Замеры ) = Тип("Структура") Тогда _Замеры = Новый Структура; @@ -58,4 +61,56 @@ Сообщить( СтрШаблон("%1. Завершено", Отсечка()) ); -КонецПроцедуры \ No newline at end of file +КонецПроцедуры + +Функция ПолучитьОбщееВремяНачала() Экспорт + Возврат _ОбщееВремяНачала; +КонецФункции + +Функция ПолучитьОтступ() Экспорт + + Если Не ЗначениеЗаполнено( _Отступ ) Тогда + _Отступ = 0; + КонецЕсли; + + Возврат _Отступ; + +КонецФункции + +Функция ПолучитьПотомка() Экспорт + + потомок = Новый Замер(); + потомок.Инициализировать( ПолучитьОбщееВремяНачала(), ПолучитьОтступ() ); + + Возврат потомок; + +КонецФункции + +Процедура Инициализировать( Знач пОбщееВремяНачала, Знач пОтступ ) Экспорт + + _ОбщееВремяНачала = пОбщееВремяНачала; + _Отступ = пОтступ + 1; + +КонецПроцедуры + +Функция Форматировать(Знач Уровень, Знач Сообщение) Экспорт + + наименованиеУровня = УровниЛога.НаименованиеУровня (Уровень ); + + Если Уровень = 0 Тогда // ОТЛАДКА + наименованиеУровня = ">"; + ИначеЕсли Уровень = 1 Тогда // ИНФОРМАЦИЯ + наименованиеУровня = "!"; + КонецЕсли; + + шаблонСтроки = "%1. "; + + Для ц = 0 По ПолучитьОтступ() Цикл + шаблонСтроки = шаблонСтроки + " "; + КонецЦикла; + + шаблонСтроки = шаблонСтроки + "%2 %3"; + + Возврат СтрШаблон(шаблонСтроки, Отсечка(), наименованиеУровня , Сообщение); + +КонецФункции \ No newline at end of file diff --git a/src/Классы/РаботаСSQL.os b/src/Классы/РаботаСSQL.os index e1b8953..95d6d24 100644 --- a/src/Классы/РаботаСSQL.os +++ b/src/Классы/РаботаСSQL.os @@ -11,6 +11,7 @@ Перем _ВыводКоманды; Перем _Лог; +Перем _РаскладкаЛога; // Получить имя лога продукта // @@ -21,6 +22,19 @@ Возврат "oscript.app.РаботаСSQL"; КонецФункции +Процедура ИнициализироватьЛог( Знач пУровеньЛога, Знач пРаскладка = Неопределено ) Экспорт + + _Лог.УстановитьУровень( пУровеньЛога ); + + Если Не пРаскладка = Неопределено Тогда + + _РаскладкаЛога = пРаскладка; + _Лог.УстановитьРаскладку( _РаскладкаЛога ); + + КонецЕсли; + +КонецПроцедуры + Процедура УстановитьСервер( Знач пСервер ) Экспорт _Сервер = пСервер; _Лог.Отладка( "Установлен сервер: " + _Сервер ); @@ -186,12 +200,10 @@ командаЗапуска = Новый Команда; - Если _Лог.Уровень() = УровниЛога.Отладка Тогда - - логКомандыЗапуска = Логирование.ПолучитьЛог(командаЗапуска.ИмяЛога()); - логКомандыЗапуска.УстановитьУровень(УровниЛога.Отладка); - - КонецЕсли; + логКоманда = Логирование.ПолучитьЛог(командаЗапуска.ИмяЛога()); + логКоманда.УстановитьУровень( _Лог.Уровень() ); + раскладкаЛогаПотомок = _РаскладкаЛога.ПолучитьПотомка(); + логКоманда.УстановитьРаскладку( раскладкаЛогаПотомок ); командаЗапуска.УстановитьКоманду("sqlcmd"); командаЗапуска.ДобавитьПараметр("-S" + _Сервер);