Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Логгирование в программе на vb6.0 (http://forum.oszone.net/showthread.php?t=326440)

blackeangel 02-05-2017 12:07 2733495

Логгирование в программе на vb6.0
 
Есть ли возможность как то выводить в лог-файл все действия программы?
Но так чтоб это было не так трудоёмко добавлять в уже готовую программу

Iska 02-05-2017 13:18 2733512

А что там трудоёмкого? Создаёте процедуру, которая принимает параметром строку. В процедуре открываете файл в %APPDATA%\Имя приложения\Имя приложения.log, пишете в него дату-время и строку. Если файла по указанному пути нет, или отсутствует сам путь — предварительно создаёте. Записали — закрываете файл. Можно, конечно, не открывать-закрывать файл на каждый вызов, а только прои старте-завершении приложения, но тогда, в случае падения приложения, часть лога может быть банально потеряна. Вставляете вызов процедуры во все места, куда потребно.

Кроме того, имеет смысл завести глобальную булеву переменную-параметр, который будет отвечать за то, будет вестись логгирование, или нет, дабы не заниматься глобальным комментированием-декомментированием вызовов процедуры.

Также можно пойти дальше, и оформить всё это как один класс, и работать уже с ним — создавая его, задавая свойства, и вызывая методы. Это достаточно просто реализуется, и будет нагляднее.

blackeangel 02-05-2017 13:24 2733514

Цитата:

Цитата Iska (Сообщение 2733512)
А что там трудоёмкого? Создаёте процедуру, которая принимает параметром строку. В процедуре открываете файл в %APPDATA%\Имя приложения\Имя приложения.log, пишете в него дату-время и строку. Если файла по указанному пути нет, или отсутствует сам путь — предварительно создаёте. Записали — закрываете файл. Можно, конечно, не открывать-закрывать файл на каждый вызов, а только прои старте-завершении приложения, но тогда, в случае падения приложения, часть лога может быть банально потеряна. Вставляете вызов процедуры во все места, куда потребно.

Кроме того, имеет смысл завести глобальную булеву переменную-параметр, который будет отвечать за то, будет вестись логгирование, или нет, дабы не заниматься глобальным комментированием-декомментированием вызовов процедуры.

Также можно пойти дальше, и оформить всё это как один класс, и работать уже с ним — создавая его, задавая свойства, и вызывая методы. Это достаточно просто реализуется, и будет нагляднее.

Идея хорошая, покажите какие параметры передавать на эту процедуру. Или строковый это тип?
Мне надо чтобы в лог выводилось что то типа:
"Функция, переменные, значения"

Iska 03-05-2017 19:14 2733842

Цитата:

Цитата blackeangel
Мне надо чтобы в лог выводилось что то типа:
"Функция, переменные, значения" »

Поясните.

blackeangel 04-05-2017 15:28 2734093

Цитата:

Цитата Iska (Сообщение 2733842)
Цитата:

Цитата blackeangel
Мне надо чтобы в лог выводилось что то типа:
"Функция, переменные, значения" »

Поясните.

Уже не надо.
Воспользовался VB style code с нумерацией строк. Самое оно.


Время: 11:23.

Время: 11:23.
© OSzone.net 2001-