On-line: Andrey, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 6265
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.19 13:18. Заголовок: Предложения по ErrorLog.htm


Andrey пишет:

 цитата:

Есть большой лог ошибок ErrorLog.htm
Просматривать вручную его ОЧЕНЬ ДОЛГО...
Как бы сделать с него выборку:
Date: 10.04.19 Time: 21:25:30
Error MGERROR/0 Control: PrgBar_1 Of Form_Index Not defined. Program terminated.
Called from - выборку ошибок 5 или 7 уровней.

Может сделать бы стандартный компонент в МиниГуи для этого ?
В виде дерева будет наверное очень удобно !



Можно данную проблему решить улучшением HTML-верстки для ErrorSys.prg
Ошибки будут сразу видны, а подробности свернутыми будут.
Но каждый узел можно развернуть и посмотреть детально.
Тогда на современных браузерах это будет выглядеть так - Firefox ErrorLog.htm


Для просмотра нового ErrorLog2.htm - https://cloud.mail.ru/public/5aHd/2aTdiSeoy
Правда в микрософтном IE выглядеть будет по старому, сразу развернутый, длинный предлинный...
Как вам такая идея ?
Что править в ErrorSys.prg я примерно знаю, есть у кого проконсультироваться.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]


постоянный участник




Пост N: 2417
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 14:01. Заголовок: Andrey пишет Как вам..


Andrey пишет
 цитата:
Как вам такая идея ?


По мне, лучше текстовый файл (передалываем для себя). Смотрим Ntepad3.
Можно тут применить (реализовав поиск) hbedit с расцветкой для LANG_TXT
Про выборки из txt файла - дело техники
Т.е. иметь установку, какой ErrorLog.htm или ErrorLog.txt

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1470
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.04.19 16:32. Заголовок: SergKis пишет: По м..


SergKis пишет:

 цитата:
По мне, лучше текстовый файл (передалываем для себя


Так и есть. Также посещала мысль сделать ErrorView отдельной утилитой, а сам вывод в dbf.
Нл пока переделал в текст под себя

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2418
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 17:24. Заголовок: Haz пишет а сам выво..


Haz пишет
 цитата:
а сам вывод в dbf.


Зачем ? Разве мало вариантов виеверов текстовых файлов.
С clipper какой то перенесен в wvt и работает местами.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1471
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.04.19 17:59. Заголовок: SergKis пишет: Заче..


SergKis пишет:

 цитата:
Зачем ?


По dbf проще и привычнее ставить фильтр по разделам лога, только по этому. Да и растащить по окнам не составит труда. В одном ошибка, в другом все установки, в третьем инфо по текущим запмсям
Сейчас просто глазами в тексте ищу, и все нахожу.
Идея возникла только после того как потребовалось понять не просто ошибку, а у какого пользователя она возникает, чтоб допросить с пристрастием как он это делает.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2420
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 18:26. Заголовок: Haz пишет По dbf про..


Haz пишет
 цитата:
По dbf проще и привычнее ставить фильтр по разделам лога


Это понятно, но лог содержит, как правило, больше чем надо в дбф.
Т.е. процедура поедания лога[ов] в дбф есть и работает по надобности.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1472
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.04.19 18:35. Заголовок: SergKis пишет: Это ..


SergKis пишет:

 цитата:
Это понятно, но лог содержит, как правило, больше чем надо в дбф


Это и останавливает. И в тоже время если лог детально структурироввть все реализовать можно.
Поэтому пока текстовик под себя.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 1473
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.04.19 19:08. Заголовок: SergKis пишет: как ..


SergKis пишет:

 цитата:
как ты различаешь, когда началась кор-ка строки и когда закончилась положительно,


По выходу из редакции. По результатам.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6266
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.04.19 19:10. Заголовок: Вот ошибка у меня в ..


Вот ошибка у меня в проге:
Application: D:\Sklad4.Client\Sklad4win.exe 
Date: 03.04.2019 Time: 14:42:37
Time from start: 0 days 0 hours 0 mins 1 secs
Error MGERROR/0 Window: unrecognized property 'MESSAGE'. Program terminated.


Called from MSGMINIGUIERROR(99) in module: h_error.prg
Called from SETPROPERTY(3785) in module: h_controlmisc.prg
Called from (b)WAIT_WINDOW_MY(266) in module: Source\WaitWin.prg
Called from _PROCESSINITPROCEDURE(1672) in module: h_windows.prg
Called from _ACTIVATEWINDOW(1487) in module: h_windows.prg
Called from WAIT_WINDOW_MY(315) in module: Source\WaitWin.prg
Called from WAITWINDOWERROR(157) in module: Source\WaitWin.prg
Called from COPYSERVERCLIENT(209) in module: Source\Copy2file.prg
Called from MYCOPYFILE(412) in module: Source\main_check.prg
Called from (b)HB_MACROBLOCK(0)

Она у моих пользователей периодически возникает, а у меня нет.
STATIC PROCEDURE OnRelease() 
ThisWindow.Release
DO MESSAGE LOOP
RETURN

Почему ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2423
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 19:33. Заголовок: Andrey пишет Почему ..


Andrey пишет
 цитата:
Почему ?


Если глянешь текст line 3785 это
      OTHERWISE 

MsgMiniGuiError( "Window: unrecognized property '" + Arg2 + "'." )

END CASE

на заданный Arg2 (нет такого в списке case), смотри что написано у тебя в Setproperty (...), если считаешь, что правильно, то поставь _LogFile(...) перед стокой MsgMiniGuiError(...) или перед Setproperty (...) ставь на вывод параметров и см. что приходит в параметрах у клиентов где валится.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2424
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.04.19 19:36. Заголовок: PS хотя явно видно п..


PS
хотя явно видно приходит Arg2 = MESSAGE, т.е. это и пришло, где то попортился Arg2, если у тебя там другое

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6952
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.05.21 22:02. Заголовок: Вопрос по ErrorLog.h..


Вопрос по ErrorLog.htm
Не видно почему произошла допустим вот такая ошибка:
Time from start: 0 days 0 hours 28 mins 54 secs 
Error BASE/1003 Переменная не существует: KTARIF
--------------------------------- Stack Trace ---------------------------------
Called from ASK_TARIF(29) in module: Source\form_dogovor.prg
Called from (b)HB_MACROBLOCK(0)
Called from DIM_WRT_DBTYPEJ(3636) in module: Source\Tbrw_fCard.prg
.....
--------------------- Internal Error Handling Information ---------------------
Subsystem Call ....: BASE
System Code .......: 1003
Default Status ....: .F.
Description .......: Переменная не существует
Operation .........: KTARIF
Involved File .....:
Dos Error Code ....: 0

По коду - запись в базу, ТАКОЕ поле есть в базе.
Подозреваю что юзер переключал на другие окна или оставил на 1-2 минуты окно ввода, а у меня по таймеру переключение и отправка записей в инет и может АЛИАС базы сменился на это время.

И нет в ErrorLog.htm при ошибке - какая текущая база была при ошибке !
Куда и какой код добавить чтобы при ошибке было видно какая текущая база ?

Нужно наверное скрин экрана записывать в отдельную папку, когда происходит ошибка.
А как это сделать, чтобы всем было удобно ?
Для терминалки в хХарборе пишется экран в лог-файл. Это очень удобно.

Анализ ошибок делаешь без юзера и где был вылет ОЧЕНЬ сложно понять.

Может типа команды сделать SET ErrorLogPath TO GetStartUpFolder() + "\ErrorScreen\"
Файлы можно обозначить так ErrorScreen001.png, ErrorScreen002.png

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1859
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 14.05.21 09:59. Заголовок: Andrey пишет: нет ..


Andrey пишет:

 цитата:
нет в ErrorLog.htm при ошибке - какая текущая база была при ошибке


Такая информация есть в разделе "System Information"

 цитата:
Current Work Area..: 2


Номера всех открытых рабочих областей и их алиасов можно взять из раздела "Detailed Work Area Items" и таким образом определить, имя текущей базы

Andrey пишет:

 цитата:
Может типа команды сделать SET ErrorLogPath TO


Уже есть подобная команда, например:

 цитата:
SET ERRORLOG TO "Z:\File.htm"


Если требуются отдельные файлы для каждой произошедшей ошибки, то надо писать свой обработчик, готовые примеры есть в папке samples\Basic\Hmg_Error_2 и др.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6953
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.05.21 10:10. Заголовок: А как сделать запис..


А как сделать запись экрана, когда происходит ошибка ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1612
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 14.05.21 11:45. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как сделать запись экрана, когда происходит ошибка ?


Видимо

gfilatov2002 пишет:

 цитата:
надо писать свой обработчик



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7356
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.05.21 11:55. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как сделать запись экрана, когда происходит ошибка ?


А ты уже спрашивал ранее и я тебе указал на папку с примером Minigui.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6956
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.05.21 13:08. Заголовок: Dima пишет: А ты уж..


Dima пишет:

 цитата:
А ты уже спрашивал ранее и я тебе указал на папку с примером Minigui.
\MiniGUI\SAMPLES\Applications\ScreenshotMaker\


Посмотрел пример.
Там используется JPG.dll
Не то.
Как без дополнительных dll сделать запись экрана в картинку png или bmp ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7371
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.05.21 14:20. Заголовок: Andrey пишет: Как б..


Andrey пишет:

 цитата:
Как без дополнительных dll сделать запись экрана в картинку png или bmp


https://stackoverflow.com/questions/60173096/hyperv-wmi-apply-snapshot-in-c-sharp

PS
я не знал например но погуглил , чего и тебе желаю

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6957
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.05.21 15:05. Заголовок: Погуглил для FiveWin..


Погуглил для FiveWin
http://fivewin.com.br/index.php?/topic/13291-save-screen/

у самого класса WINDOW есть отличный метод для этого!
Вы можете называть его любым наследуемым от него объектом, например TDialog!
oDlg: saveToBmp ("C: \ path \ image_name.bmp")
Он делает идеальный скриншот диалога!

В МиниГуи тоже есть метод:
SaveAs Method      
Save Control or Window as BitMap file.
SYNTAX
METHOD
<WindowName>.SaveAs( <BitMap> )
<ParentWindowName>.<ControlName>.SaveAs( <BitMap> )

А как в ErrorSys.prg поймать имя окна где произошла ошибка ?
Нужно это в FUNCTION DefError()

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 7372
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 23.05.21 15:35. Заголовок: Andrey Вот чего наг..


Andrey
Вот чего нагуглил
#include "BosTaurus.CH"
.
.
BT_BitmapSaveFile(BT_BitmapCaptureDesktop(), "errorDESKTOP.png", 4)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1691
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 23.05.21 20:14. Заголовок: Andrey пишет: Нужно..


Andrey пишет:

 цитата:
Нужно это в FUNCTION DefError()



На примере MiniGUI\SAMPLES\BASIC\Hmg_Error\Hmg_Error.prg

STATIC FUNCTION DefError( oError )
...
//Html Arch to ErrorLog
LOCAL HtmArch, xText

//Save screen
n := Ascan( _HMG_aFormHandles, GetActiveWindow() )
IF n > 0
oError:cargo := _HMG_aFormNames[ n ]
DoMethod( oError:cargo, "SaveAs", hb_DirBase() + "screen.bmp" )
ENDIF

...
и дальше
...
Function ShowError ( oError )
...
x_body_erro += " File.................: " + oError:filename() + CRLF
x_body_erro += " Form.................: " + oError:cargo + CRLF
x_body_erro += " DOS error code.......: " + strvalue( oError:oscode() ) + CRLF
...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 692
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет