Skip to content

Commit

Permalink
#338 Онлайн логирование на сервере для файловых баз
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed May 26, 2024
1 parent 05ea150 commit c4279c8
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,13 @@
Возврат ЮТСлужебныйПовторногоИспользования.ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты);
КонецЕсли;

Возврат ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
Если ЮТСтроки.ВерсияБольше(ЮТест.Окружение().ВерсияПлатформы, "8.3.20") Тогда
ТипПодключения = ЮТМетодыСлужебный.ВычислитьБезопасно("ТипПодключенияВнешнейКомпоненты.НеИзолированно");
//@skip-check many-actual-parameters
Возврат ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native, ТипПодключения);
Иначе
Возврат ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
КонецЕсли;

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
#Если Клиент Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
#Иначе
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
// Для серверной базы все равно нужно накапливать сообшения, если включен вывод в консоль
Если ЮТест.Окружение().ФайловаяБаза Или Контекст.ФайлЛогаДоступенНаСервере Тогда
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
Иначе
Контекст.НакопленныеЗаписи.Добавить(Текст);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,49 +21,35 @@
// Собирает информацию об окружения, как сервера, так и клиента.
//
// Возвращаемое значение:
// Структура - Описание окружения:
// * ВерсияПлатформы - Строка
// * ФайловаяБаза - Булево
// * ОбычноеПриложение - Булево
// * ВебКлиент - Булево
// * ТолстыйКлиент - Булево
// * ЛокальПлатформы - Строка
// * ЛокальИнтерфейса - Строка
// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386
// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386
// * ВстроенныйЯзык - Строка - Возможные значения: ru, en
// * ИнформационнаяСреда - Строка
// см. ЮТФабрика.НовоеОписаниеОкружения
Функция ОписаниеОкружения() Экспорт

СистемнаяИнформация = Новый СистемнаяИнформация();
ОписаниеСерверногоОкружения = ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере("ЮТОкружениеСлужебныйКлиентСервер",
"ОписаниеСерверногоОкружения");

Окружение = Новый Структура;
Окружение.Вставить("Конфигурация", ОписаниеСерверногоОкружения.Конфигурация);
Окружение.Вставить("ВерсияКонфигурации", ОписаниеСерверногоОкружения.ВерсияКонфигурации);
Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения);
Окружение.Вставить("ИнформационнаяСреда", "DEV");
Окружение.Вставить("ТестовыйДвижок", ОписаниеСерверногоОкружения.ТестовыйДвижок);
Окружение.Вставить("ВерсияТестовогоДвижка", ОписаниеСерверногоОкружения.ВерсияТестовогоДвижка);
Платформа = Платформа(СистемнаяИнформация);

Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы());
Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса());
Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык);
Окружение = ЮТФабрика.НовоеОписаниеОкружения();

Платформа = Платформа(СистемнаяИнформация);
Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема);
Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура);
Окружение.Конфигурация = ОписаниеСерверногоОкружения.Конфигурация;
Окружение.ВерсияКонфигурации = ОписаниеСерверногоОкружения.ВерсияКонфигурации;
Окружение.ВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;
Окружение.ИнформационнаяСреда = "DEV";
Окружение.ТестовыйДвижок = ОписаниеСерверногоОкружения.ТестовыйДвижок;
Окружение.ВерсияТестовогоДвижка = ОписаниеСерверногоОкружения.ВерсияТестовогоДвижка;

Окружение.ЛокальПлатформы = ЛокальПлатформы();
Окружение.ЛокальИнтерфейса = ЛокальИнтерфейса();
Окружение.ВстроенныйЯзык = ОписаниеСерверногоОкружения.ВстроенныйЯзык;

Окружение.ОперационнаяСистемаКлиент = Платформа.ОперационнаяСистема;
Окружение.АрхитектураКлиент = Платформа.Архитектура;

Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема);
Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура);
Окружение.ОперационнаяСистемаСервер = ОписаниеСерверногоОкружения.ОперационнаяСистема;
Окружение.АрхитектураСервер = ОписаниеСерверногоОкружения.Архитектура;

Окружение.Вставить("ФайловаяБаза", ЭтоФайловаяБаза());
Окружение.Вставить("ОбычноеПриложение", Ложь);
Окружение.Вставить("ВебКлиент", Ложь);
Окружение.Вставить("ТолстыйКлиент", Ложь);
Окружение.ФайловаяБаза = ЭтоФайловаяБаза();

#Если ВебКлиент Тогда
Окружение.ВебКлиент = Истина;
Expand All @@ -75,7 +61,7 @@
#КонецЕсли

//@skip-check use-non-recommended-method
Окружение.Вставить("ВремяЗапуска", ТекущаяДата()); // BSLLS:DeprecatedCurrentDate-off
Окружение.ВремяЗапуска = ТекущаяДата(); // BSLLS:DeprecatedCurrentDate-off

//@skip-check constructor-function-return-section
Возврат Окружение;
Expand All @@ -95,7 +81,7 @@

Функция ЭтоФайловаяБаза()

Возврат СтрНайти(Врег(СтрокаСоединенияИнформационнойБазы()), "FILE=") = 0;
Возврат СтрНайти(Врег(СтрокаСоединенияИнформационнойБазы()), "FILE=") = 1;

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,18 @@

КонецПроцедуры

// Вызывается при сборе информации об окружении на клиенте.
// Позволяет дополнить описание окружения своими данными
//
// Параметры:
// ОписаниеОкружения - см. ЮТФабрика.НовоеОписаниеОкружения
Процедура СборИнформацииОбОкружении(ОписаниеОкружения) Экспорт

Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеОкружения);
ВызватьПодключаемыйОбработчикСобытия("СборИнформацииОбОкружении", "Инициализация", Параметры);

КонецПроцедуры

#КонецОбласти

#Область СобытияИсполненияТестов
Expand Down
18 changes: 16 additions & 2 deletions exts/yaxunit/src/CommonModules/ЮТСтроки/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,20 @@

КонецФункции

// Выполняет сравнение версий
//
// Параметры:
// ПроверяемаяВерсия - Строка - Проверяемая версия
// БазоваяВерсия - Строка - Базовая версия, с которой происходит сравнение
//
// Возвращаемое значение:
// Булево - Проверяемая версия больше базовой
Функция ВерсияБольше(ПроверяемаяВерсия, БазоваяВерсия) Экспорт

Возврат СравнитьВерсии(ПроверяемаяВерсия, БазоваяВерсия) > 0;

КонецФункции

// Проверяет, что переданное значение является строковым представлением уникального идентификатора
//
// Параметры:
Expand All @@ -222,7 +236,7 @@
Если ТипЗнч(Значение) <> Тип("Строка") Тогда
Возврат Ложь;
КонецЕсли;

Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

Если СтрДлина(Шаблон) <> СтрДлина(Значение) Тогда
Expand All @@ -243,7 +257,7 @@
КонецЦикла;

Возврат Истина;

КонецФункции

// Из набора строк формирует набор уникальных строк.
Expand Down
52 changes: 52 additions & 0 deletions exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,58 @@

КонецФункции

// Новое описание окружения.
//
// Возвращаемое значение:
// Структура - Описание окружения:
// * Конфигурация - Строка -
// * ВерсияКонфигурации - Строка -
// * ВерсияПлатформы - Строка -
// * ИнформационнаяСреда - Строка -
// * ТестовыйДвижок - Строка -
// * ВерсияТестовогоДвижка - Строка -
// * ЛокальПлатформы - Строка -
// * ЛокальИнтерфейса - Строка -
// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386
// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386
// * ВстроенныйЯзык - Строка - Возможные значения: ru, en
// * ФайловаяБаза - Булево -
// * ОбычноеПриложение - Булево -
// * ВебКлиент - Булево -
// * ТолстыйКлиент - Булево -
// * ВремяЗапуска - Дата -
Функция НовоеОписаниеОкружения() Экспорт

Окружение = Новый Структура;
Окружение.Вставить("Конфигурация", "");
Окружение.Вставить("ВерсияКонфигурации", "");
Окружение.Вставить("ВерсияПлатформы", "");
Окружение.Вставить("ИнформационнаяСреда", "DEV");
Окружение.Вставить("ТестовыйДвижок", "YAxUnit");
Окружение.Вставить("ВерсияТестовогоДвижка", "");

Окружение.Вставить("ЛокальПлатформы", "");
Окружение.Вставить("ЛокальИнтерфейса", "");
Окружение.Вставить("ВстроенныйЯзык", "");

Окружение.Вставить("ОперационнаяСистемаКлиент", "");
Окружение.Вставить("АрхитектураКлиент", "");

Окружение.Вставить("ОперационнаяСистемаСервер", "");
Окружение.Вставить("АрхитектураСервер", "");

Окружение.Вставить("ФайловаяБаза", Ложь);
Окружение.Вставить("ОбычноеПриложение", Ложь);
Окружение.Вставить("ВебКлиент", Ложь);
Окружение.Вставить("ТолстыйКлиент", Ложь);
Окружение.Вставить("ВремяЗапуска", '00010101');

Возврат Окружение;

КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции
Expand Down
15 changes: 1 addition & 14 deletions exts/yaxunit/src/CommonModules/ЮТест/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -223,20 +223,7 @@
// Возвращает информацию об окружении.
//
// Возвращаемое значение:
// Структура - Описание окружения:
// * ВерсияПлатформы - Строка
// * ФайловаяБаза - Булево
// * ОбычноеПриложение - Булево
// * ВебКлиент - Булево
// * ТолстыйКлиент - Булево
// * ЛокальПлатформы - Строка
// * ЛокальИнтерфейса - Строка
// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386
// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386
// * ВстроенныйЯзык - Строка - Возможные значения: ru, en
// * ИнформационнаяСреда - Строка
// см. ЮТФабрика.НовоеОписаниеОкружения
Функция Окружение() Экспорт

//@skip-check constructor-function-return-section
Expand Down

0 comments on commit c4279c8

Please sign in to comment.