Простое логирование без dos и ascii

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Простое логирование без dos и ascii

Сообщение gopstop2007 »

Нужно, записывать свои события (лог) в любой текстовый файл, не используя dos и ascii драйвера. Как можно проще.
Раньше использовал SaveLog Владимира Дягтеренко, но под C10 не работает.
Спасибо за внимание.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
vic7tar
Ветеран
Сообщения: 365
Зарегистрирован: 09 Февраль 2017, 20:12

Простое логирование без dos и ascii

Сообщение vic7tar »

Может апишный WriteFile?
C10, Win10x64
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Простое логирование без dos и ascii

Сообщение Игорь Столяров »

gopstop2007 писал(а): 07 Ноябрь 2018, 21:17Как можно проще.
Совсем простую систему логирования можно сделать с использованием PUTINI().
Там есть ограничение на размер файла, но для рабочих вопросов - подходит. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Простое логирование без dos и ascii

Сообщение Yufil »

ABC Free Templates содержат что-то похожее, навскидку нашёл vsDiskFileIOClass.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Простое логирование без dos и ascii

Сообщение gopstop2007 »

спасибо, буду смотреть
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

Простое логирование без dos и ascii

Сообщение porutchik »

раньше делал так:
#EXTENSION (BV_Debug,'Подключить библиотеку отладчика'),APPLICATION
#!--------------------------------------------------------------------------
#AT(%AfterGlobalIncludes)
#IF(%ApplicationLocalLibrary=0)
dbg_dll_mode equate(1)
#ELSE
dbg_dll_mode equate(0)
#ENDIF
#ENDAT
#!----------------------
#AT(%GlobalMap)
COMPILE('!-*-!', BV_DEBUG=1)
! подключить внешний отладчик
MODULE('WSLDEBUG')
PrintDebugString(STRING), NAME('WslDebug$Print'),dll(dbg_dll_mode)
PrintDebugEvent(), NAME('WslDebug$PrintEvent'),dll(dbg_dll_mode)
PrintDebugLine(), NAME('WslDebug$PrintLine'),dll(dbg_dll_mode)
END
!-*-!
#ENDAT
#!------------
#CODE(dbg_event, 'добавить событие в файл отладки'), REQ(BV_Debug)
#DISPLAY('добавить код события Clarion в файл отладки...')
COMPILE('!-==-!', BV_DEBUG=1)
! добавить код события Clarion в файл отладки...
PrintDebugEvent()
!-==-!
#CODE(dbg_string, 'добавить строку в файл отладки'), REQ(BV_Debug)
#DISPLAY('добавить указанную строку в файл отладки')
#PROMPT('строка:', @S30),%SrtDebugBV, REQ
#PROMPT('... и перейти к следующей', CHECK),%SrtLine, DEFAULT(1)
COMPILE('!-=*=-!', BV_DEBUG=1)
#IF (%SrtDebugBV)
PrintDebugString(%SrtDebugBV)
#ENDIF
#IF (%SrtLine)
PrintDebugLine() ! перевести строку
#ENDIF
!-=*=-!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Простое логирование без dos и ascii

Сообщение Yufil »

Всё те же Free ABC Templates имеют шаблон и класс для трассировки отладочной информации внешней утилитой dbgView из Sysinternals Suite. Удобно наблюдать за выполнением в реальном времени... Ещё хорошо, что есть флажок, включающий и выключающий трассировку - нет необходимости удалять код из программы по окончании.
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

Простое логирование без dos и ascii

Сообщение porutchik »

Yufil писал(а): 12 Ноябрь 2018, 10:00утилитой dbgView из Sysinternals
хуже ее я еще ничего не видел
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Простое логирование без dos и ascii

Сообщение Yufil »

Так dbgView только показывает трассировку, скорее всего есть ещё куча аналогов. А вот когда надо ловить ошибку хз где, программа не допускает вызова стандартным дебагером или не может быть приторможена в силу каких-то временнЫх ограничений - другого выхода нет, а сама выводимая инфа обыкновенно выводится программой.

По крайней мере, такую экзотику как Windows-сервисы и CGI-приложения только так и отлаживал. А в ini-файл кинул флажок, указующий-нужно ли трассировку или где? Правда, уже давно ничего уже не отлаживал на Кларионе :(
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Простое логирование без dos и ascii

Сообщение Губин Игорь »

Сделал лет сто назад примитивную функцию WriteLog(строка,файл), которая пишет в текстовый файл через WinAPI. Даже классов там нет. И с тех пор тупо вставляю в нужные места.

Проблем никаких, работает нормально...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Простое логирование без dos и ascii

Сообщение Губин Игорь »

Игорь Столяров писал(а): 08 Ноябрь 2018, 6:40Совсем простую систему логирования можно сделать с использованием PUTINI().

Всё это было бы хорошо, если бы не было так грустно...
Под Win10 обнаружилось странное явление: если файл оказался в одном из ситемных каталогов (включая Program Files), то он начинает "кешироваться" со всеми вытекающими...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Простое логирование без dos и ascii

Сообщение RaFaeL »

Это не кэширование, это VirtualStore (поищите каталог с таким названием и все поймете)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Простое логирование без dos и ascii

Сообщение Губин Игорь »

RaFaeL писал(а): 15 Ноябрь 2018, 15:15Это не кэширование, это VirtualStore (поищите каталог с таким названием и все поймете)
Не всё так просто. Дело в том, что запись PutINI происходит нормально, а вот чтение GetINI показывает старое содержимое.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

Простое логирование без dos и ascii

Сообщение porutchik »

Губин Игорь писал(а): 15 Ноябрь 2018, 14:05Под Win10 обнаружилось странное явление: если файл оказался в одном из ситемных каталогов (включая Program Files), то он начинает "кешироваться" со всеми вытекающими...
еще с появлением висты перестал делать инсталл програм на кларе в "системные" и иже с ними каталоги
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Простое логирование без dos и ascii

Сообщение Губин Игорь »

porutchik писал(а): 15 Ноябрь 2018, 19:38еще с появлением висты перестал делать инсталл програм на кларе в "системные" и иже с ними каталоги
Вернуться к началу

Но привычки у клиентов остались...
Это я только кажусь дураком! На самом деле я полный идиот!
Ответить