Skip to content

Commit f199d02

Browse files
committed
Исправил ошибку зависания при выполнении команд Git xDrivenDevelopment#60
Добавил вывод лога в лог-файл,который находится рядом со скриптом
1 parent 710bf28 commit f199d02

File tree

1 file changed

+37
-19
lines changed

1 file changed

+37
-19
lines changed

v8files-extractor.os

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,14 @@
2626

2727
Функция ЗапускВКоманднойСтроке()
2828
Лог_cmdline = Логирование.ПолучитьЛог("oscript.lib.cmdline");
29-
// Лог_cmdline.УстановитьУровень(УровниЛога.Отладка);
29+
Лог_cmdline.УстановитьУровень(УровниЛога.Отладка);
3030
// Лог.УстановитьУровень(УровниЛога.Отладка);
31+
ВыводПоУмолчанию = Новый ВыводЛогаВКонсоль();
32+
Лог_cmdline.ДобавитьСпособВывода(ВыводПоУмолчанию);
33+
34+
Аппендер = Новый ВыводЛогаВФайл();
35+
Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта()+".cmdline.log"));
36+
Лог_cmdline.ДобавитьСпособВывода(Аппендер);
3137

3238
КодВозврата = 0;
3339

@@ -116,7 +122,14 @@
116122
ЭтоWindows = Найти(ВРег(СистемнаяИнформация.ВерсияОС), "WINDOWS") > 0;
117123

118124
Лог = Логирование.ПолучитьЛог("oscript.app.v8files-extractor");
119-
//Лог.УстановитьУровень(УровниЛога.Отладка);
125+
Лог.УстановитьУровень(УровниЛога.Отладка);
126+
127+
ВыводПоУмолчанию = Новый ВыводЛогаВКонсоль();
128+
Лог.ДобавитьСпособВывода(ВыводПоУмолчанию);
129+
130+
Аппендер = Новый ВыводЛогаВФайл();
131+
Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта()+".log"));
132+
Лог.ДобавитьСпособВывода(Аппендер);
120133
КонецПроцедуры
121134

122135

@@ -379,32 +392,33 @@
379392

380393
Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата)
381394

382-
// Это для dev версии 1.0.11
383-
Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина,, КодировкаТекста.UTF8);
384-
Процесс.Запустить();
385-
Вывод = "";
395+
// // Это для dev версии 1.0.11
396+
// Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина,, КодировкаТекста.UTF8);
397+
// Процесс.Запустить();
398+
// Вывод = "";
386399

387-
Процесс.ОжидатьЗавершения();
400+
// Процесс.ОжидатьЗавершения();
388401

389-
Вывод = Вывод + Процесс.ПотокВывода.Прочитать();
390-
Вывод = Вывод + Процесс.ПотокОшибок.Прочитать();
402+
// Вывод = Вывод + Процесс.ПотокВывода.Прочитать();
403+
// Вывод = Вывод + Процесс.ПотокОшибок.Прочитать();
391404

392-
КодВозврата = Процесс.КодВозврата;
405+
// КодВозврата = Процесс.КодВозврата;
393406

394-
// ЛогФайл = ВременныеФайлы.НовоеИмяФайла();
395-
// СтрокаЗапуска = "cmd /C """ + КоманднаяСтрока + " > """ + ЛогФайл + """ 2>&1""";
396-
// Лог.Отладка(СтрокаЗапуска);
397-
// ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата);
398-
// Лог.Отладка("Код возврата: " + КодВозврата);
399-
// ЧтениеТекста = Новый ЧтениеТекста(ЛогФайл, "utf-8");
400-
// Вывод = ЧтениеТекста.Прочитать();
401-
// ЧтениеТекста.Закрыть();
407+
ЛогФайл = ВременныеФайлы.НовоеИмяФайла();
408+
СтрокаЗапуска = "cmd /C """ + КоманднаяСтрока + " > """ + ЛогФайл + """ 2>&1""";
409+
Лог.Отладка(СтрокаЗапуска);
410+
ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата);
411+
Лог.Отладка("Код возврата: " + КодВозврата);
412+
ЧтениеТекста = Новый ЧтениеТекста(ЛогФайл, "utf-8");
413+
Вывод = ЧтениеТекста.Прочитать();
414+
ЧтениеТекста.Закрыть();
402415

403416
Возврат Вывод;
404417

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

407420
Функция ПолучитьИменаИзЖурналаИзмененийГит(Знач ЖурналИзмененийГит) Экспорт
421+
Лог.Отладка("ЖурналИзмененийГит:");
408422
МассивИмен = Новый Массив;
409423
// Если Найти(ЖурналИзмененийГит, Символы.ПС) > 0 Тогда
410424
МассивСтрокЖурнала = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(ЖурналИзмененийГит, Символы.ПС);
@@ -415,7 +429,6 @@
415429
// МассивСтрокЖурнала = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(ЖурналИзмененийГит, Символы.ПС); //Символ(0));
416430
// КонецЕсли;
417431

418-
Лог.Отладка("ЖурналИзмененийГит:");
419432
Для Каждого СтрокаЖурнала Из МассивСтрокЖурнала Цикл
420433
Лог.Отладка(" <"+СтрокаЖурнала +">");
421434
СтрокаЖурнала = СокрЛ(СтрокаЖурнала);
@@ -759,6 +772,11 @@
759772
Возврат ФайлИсточника.Путь;
760773
КонецФункции
761774

775+
Функция ИмяСкрипта()
776+
ФайлИсточника = Новый Файл(ТекущийСценарий().Источник);
777+
Возврат ФайлИсточника.ИмяБезРасширения;
778+
КонецФункции
779+
762780
Инициализация();
763781

764782
Если ЗапускВКоманднойСтроке() Тогда

0 commit comments

Comments
 (0)