gifts2017

Логирование при отладке

Опубликовал Борис Моренко (BorisMor) в раздел Программирование - Инструментарий

Обработка позволит организовать логирование для отладки ваших приложений.

Данная обработка позволит вам создать лог файл для отладки.  Пример использования:

    отладка = ВнешниеОбработки.Создать("C:\Отладка.epf");       
    ...
    отладка.Лог("Запись в логе");
    ...
    отладка.ПоказатьЛог();

Процедура Лог() позволяет записывать не только текст или число, но и...

  • ТаблицаЗначений
  • СписокЗначений
  • Структура    
  • Массив    
  • КоллекцияДвижений    
  • Форма    
  • ЭлементыФормы   

Кроме записи в лог вы можете и отображать данные. Для этого основная функция "Отобразить()".
Например вы хотите видеть те движения которые делает документ после проведения. Добавляем в конец процедуру проведения следующий код:

    отладка = ВнешниеОбработки.Создать("c:\Отладка.epf");                
    отладка.Отобразить(Движения);

После проведения документа вы сразу увидите таблицы с движениями.

Далее описание свойств и методов


Свойства:

  •  ЛогКаталог - каталог с логом. По умолчанию временный каталог
  •  ЛогФайл - имя файла. По умолчанию "Лог". Расширение писать не надо (прошито как .log_1c)
  •  ЗаписьКаждойСтроки - (По умолчанию Истина) каждая строка будет сразу же писаться в файл. Иначе вызвать Записать() в нужный момент.
  •  ПолучитьВремяСозданияЛога — Прочитать время создания лога
  •  ВИмениВремя - В имени лог-файла идет время создания обработки
  •  ВыводитьСлужебноеСообщение - выводить лог сразу в диалог "Служебные сообщения". По умолчанию "Ложь"
  •  ВремяВЛоге - каждая строчка в логе начинается со времени

Методы:

  •  ПолныйПутьЛога - путь до лог файла
  •  Лог - Запись любого значения в лог
  •  ЛогВременнойТаблицы - записывает содержимое ВременнойТаблицы в лог-файл
  •  ПоказатьВременнуюТаблицу - показывает содержимое временной таблицы в табличном документе
  •  ПоказатьТаблицуЗначений - показывает содержимое таблицы значений в табличном документе
  •  ПоказатьКолекциюДвижений - показать диалог с движениями документов
  •  Отобразить - отобразить любое значение
  •  ПоказатьЛог - Вызывает диалог показывающий лог
  •  Записать - записать лог в файл (если свойство ЗаписьКаждойСтроки = Ложь)
  •  ЛогДанныеПоСитеме - логирует системную информацию

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Отладка.epf
.epf 20,11Kb
05.05.12
56
.epf 20,11Kb 56 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Максим (sh_max) 10.05.12 10:56
А кнопка "Вычислить выражение" в конфигураторе - это сейчас не модно?
2. Борис Моренко (BorisMor) 10.05.12 12:44
(1) sh_max,
Не понял про что вы...
3. Максим (sh_max) 10.05.12 12:51
(2) Я просто не пойму приемуществ этой обработки. Стандартной отладкой идешь по коду, если нужно посмотреть значение какой-то переменной или движения документа, то пользуешься встроенной возможностью отладки "Вычислить выражение" и всё. Зачем тут логи писать какие-то?
4. Евгений Сосна (pumbaE) 10.05.12 13:16
(3) sh_max, преимущество было бы, если бы:
1. Не обработка, а модуль для встраивания в конфигурацию.
2. Поддерживались уровни логгирования (если включен уровень DEBUG, тогда пишем в лог, нет "возврат")
3. Настраиваемые шаблоны вывода логов.

Короче типовая библиотека logging, только портированная на 1С.
5. Борис Моренко (BorisMor) 10.05.12 13:17
(3) sh_max,
Вычислить выражение конечно удобно)
Но иногда и логи удобно. Особенно когда код не твой и разбираешься в логике.
Мне вот иногда требуется несколько таблица значений сравнить или наглядно проследить изменение структур.
6. Борис Моренко (BorisMor) 10.05.12 13:23
(4) pumbaE,
1. Можно сделать и внутренней обработкой
2. Есть реквизит "Включен" который по умолчанию Истина. Если поставить Ложь то лог писать не будет.
3. Да неплохо бы
Конечно лучше что бы коробочное от 1С.
7. Максим (sh_max) 10.05.12 13:54
(5) Ну в общем на любителя :) Таблицы значений и стандартными средствами можно выгрузить, через всё то-же "Вычислить выражение", в эксель например и сравнивать.
Но вот всё равно, хоть убейте меня, приходилось ковыряться в УПП и в зарплате и в себестоимости, не очень-то простой там код, но всегда мне вполне хватало стандартной отладки. Не пойму... Явно не для меня обработка :)
8. Евгений Сосна (pumbaE) 10.05.12 14:15
(7) sh_max, не верю, что для отладки запросов в ЗП достаточно типового функционала. Попробуйте для себя нормальную консоль отчетов, с выводом временных таблиц.
9. Максим (sh_max) 10.05.12 14:31
(8) А, ну да, приврал немного :) Для отладки запросов консолью пользовался конечно, обновлять конфигурацию что-бы глянуть временную таблицу - это перебор :)
10. Юрий Патласов (NoRazum) 17.05.12 11:51
На первый взгляд хорошая библиотека.
При сложных обработках полезна будет.
11. direktorSan (direktorSan) 22.05.12 16:02
Лично я вижу вот какой смысл в такой обработке:
1) это должна быть встроенная обработка
2) должна быть возможность включения логирования работы для одного/нескольких объектов метаданных (документы, регистры, общие модули и проч.)
3) должна быть возможность включения логирования работы для конкретного пользователя
В таком виде при возникновении проблем у пользователей достаточно включить логирование и проанализировать лог для определения дальнейших действий.

Но такая штука возможна только в случае, если вызовы системы логирования встроены в критические участки исполняемого кода.
BorisMor; +1 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа