Logging: различия между версиями
Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == == Синтаксис == Привязка к окну: да. <br>Работа со свернутым окном: да. set logging...») |
Tatikoma (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: да. | Привязка к окну: да. | ||
− | + | <br>Работа со свернутым окном: да. | |
− | set logging | + | set logging <text | option | mode [параметры]> |
альтернативная запись | альтернативная запись | ||
− | log | + | log <text | option | mode [параметры]> |
− | ''' | + | '''<text>''' - текст для вывода в лог. |
− | + | <br>'''<option>''' - зарезервированные строки, которые выполняют операции с логом: | |
:'''on''' - включить запись в лог | :'''on''' - включить запись в лог | ||
:'''off''' - выключить запись в лог | :'''off''' - выключить запись в лог | ||
Строка 19: | Строка 19: | ||
:'''commands''' - отображение в лог выполняющихся строк скрипта. Включается 'set logging commands', выключается 'set logging off'. | :'''commands''' - отображение в лог выполняющихся строк скрипта. Включается 'set logging commands', выключается 'set logging off'. | ||
− | ''' | + | '''<mode>''' - установка формата вывода в лог. Параметры: |
:'''noTime''' - не выводить в лог время | :'''noTime''' - не выводить в лог время | ||
:'''noNumber''' - не выводить в лог номер скрипта | :'''noNumber''' - не выводить в лог номер скрипта | ||
Строка 28: | Строка 28: | ||
log mode [параметры] | log mode [параметры] | ||
− | Указывается либо | + | Указывается либо <option> либо <text> либо <mode>, но не несколько одновременно. |
== Примеры == | == Примеры == | ||
Строка 51: | Строка 51: | ||
set logging save c:\logs\apple.txt // пишем весь лог в файл | set logging save c:\logs\apple.txt // пишем весь лог в файл | ||
Результат в блокноте: | Результат в блокноте: | ||
− | + | <br>20:07:55 17 (, 4): - --------------------------------------------------------------- | |
− | + | <br>20:07:55 17 (, 5): - я нашел 5 яблок, а скушал 2, и у меня их осталось 3 | |
− | + | <br>20:07:55 17 (, 7): - удача | |
//Пример 2 | //Пример 2 | ||
Строка 63: | Строка 63: | ||
[[Msg]] | [[Msg]] | ||
− | + | <br>[[Alarm]] | |
− | + | <br>[[Save_array]] | |
== История развития == | == История развития == | ||
'''2.18''' | '''2.18''' | ||
− | + | <br>Добавил логи: | |
− | 'set logging | + | 'set logging <option | text>' |
Где option: | Где option: | ||
:'on' - включить запись в лог | :'on' - включить запись в лог | ||
Строка 80: | Строка 80: | ||
'''2.23''' | '''2.23''' | ||
− | + | <br>Добавил возможность выводить в лог выполняющиеся строки скрипта. включается 'set logging commands', выключается 'set logging off'. | |
− | + | <br>Исправил перманентный вис на конуструкции типа 'set logging clear', 'set logging open'. | |
− | + | <br>Добавил возможность выводить в лог выполняющиеся строки скрипта. | |
− | + | <br>Включается: | |
'set logging commands' | 'set logging commands' | ||
выключается: | выключается: | ||
Строка 89: | Строка 89: | ||
'''2.30''' | '''2.30''' | ||
− | + | <br>Исправил непропечатывание некоторых символов в начале сообщения команды 'set logging'. | |
− | + | <br>Добавил галочку "Автоматически открывать лог" при использовании команды 'set logging text'. | |
− | + | <br>Добавил команду 'log', почти аналог 'set logging'. | |
'''2.31''' | '''2.31''' | ||
− | + | <br>Команда 'set logging', указанная без параметров, выводит в лог пустую строку. | |
− | + | <br>Сделал вывод в лог настраиваемым отдельно для каждого скрипта с помощью команды 'set logging mode [параметры]'. Если, при очередном вызове этой команды, какой-либо параметр не указан, то он устанавливается в значение "по-умолчанию". | |
параметры: | параметры: | ||
noTime - не выводить в лог время | noTime - не выводить в лог время | ||
Строка 105: | Строка 105: | ||
'''2.32''' | '''2.32''' | ||
− | + | <br>Добавил вывод в скобках значения элемента массива после его имени, для команды 'set logging commands'. | |
− | + | <br>Добавил вывод значения переменной после присваивания в команде 'set', при включенном 'set logging commands'. Выводится отдельной строкой. | |
− | + | <br><br>Добавил логи для каждого скрипта отдельно. По достижении 1000 строк, обрезается до 500. Переключаются при переключении закладок скрипта (при активном главном логе 'M', переключения не происходит), или непосредственно в окне лога. | |
В связи с этим к команде 'set logging'добавились два параметра: | В связи с этим к команде 'set logging'добавились два параметра: | ||
clear_current - очистить текущий персональный лог | clear_current - очистить текущий персональный лог | ||
− | save_current | + | save_current <path> - сохранить текущий персональный лог в указанный файл |
Исправил непропечатывание некоторых символов в начале сообщения команды 'log'. | Исправил непропечатывание некоторых символов в начале сообщения команды 'log'. | ||
set #a #a + #b * %arr [ 2 #c ] // set #a(5) #a(5) + #b(8) * %arr [ 2 #c(11) ] | set #a #a + #b * %arr [ 2 #c ] // set #a(5) #a(5) + #b(8) * %arr [ 2 #c(11) ] | ||
'''2.33''' | '''2.33''' | ||
− | + | <br>Пункт меню "?\Log Window", переделал в кнопочку "log" на закладке "Скрипт". | |
− | + | <br>Добавил галочку рядом с новой кнопочкой "log" на закладке "Скрипт", аналог команды 'set logging commands'. | |
− | + | <br>Починил команду 'log open'. | |
− | + | <br>Добавил команду 'log level [number]'. | |
'''2.34''' | '''2.34''' | ||
− | + | <br>Дочинил команду 'log open'. | |
'''2.36''' | '''2.36''' | ||
− | + | <br>Исправил вывод значения переменной после присваивания в команде 'set', при включенном 'set logging commands'. | |
− | + | <br>Добавил команду очистки логов всех скриптов 'set logging clear_All'. | |
− | + | <br>Добавил в вывод в лог миллисекунды. Включается 'set logging mode fulltime'. Выключается 'set logging mode shorttime'. | |
'''2.37''' | '''2.37''' | ||
− | + | <br>Добавил несколько зарезервированных переменных: (ПОКА ТОЛЬКО ДЛЯ ЧТЕНИЯ) | |
'loghandle' - хэндл окна лога, либо '0', если не существует; | 'loghandle' - хэндл окна лога, либо '0', если не существует; | ||
'logautoopen' - галочка из настроек "Автоматически открывать лог", соответственно '0' либо '1'; | 'logautoopen' - галочка из настроек "Автоматически открывать лог", соответственно '0' либо '1'; | ||
Строка 139: | Строка 139: | ||
'''2.38''' | '''2.38''' | ||
− | + | <br>Исправил ошибку, возникающую при выводе в лог больших объемов информации. Выводим в лог кусками по 16 кб. В файле лога в месте соединения будет перевод строки. | |
− | + | <br>Исправил незапланированный вывод в лог устаревшего сообщения об ошибке. | |
− | + | <br>Исправил вывод в лог сообщений об ошибках при включенной галочке "Выводить сообщения в... Log". | |
'''2.39''' | '''2.39''' | ||
− | + | <br>Исправил установку размеров в команде 'log open', при первом открытии окна лога. | |
− | + | <br>Исправил команду 'log close', открывавшую закрытый лог. | |
[[Категория:Оповещение]] | [[Категория:Оповещение]] |
Текущая версия на 10:50, 28 августа 2019
Описание
Синтаксис
Привязка к окну: да.
Работа со свернутым окном: да.
set logging <text | option | mode [параметры]>
альтернативная запись
log <text | option | mode [параметры]>
<text> - текст для вывода в лог.
<option> - зарезервированные строки, которые выполняют операции с логом:
- on - включить запись в лог
- off - выключить запись в лог
- clear - очистить лог
- save [path] - сохранить лог в файл
- open [x y] [width height] - открыть окно лога. по-умолчанию x=y=-1, w03, h36
- close - закрыть окно лога
- commands - отображение в лог выполняющихся строк скрипта. Включается 'set logging commands', выключается 'set logging off'.
<mode> - установка формата вывода в лог. Параметры:
- noTime - не выводить в лог время
- noNumber - не выводить в лог номер скрипта
- noScript - не выводить в лог имя скрипта
- noLine - не выводить в лог номер строки
- compact - всё выше перечисленное
- без параметров - установить настройки "по-умолчанию" (отображать всё)
log mode [параметры]
Указывается либо <option> либо <text> либо <mode>, но не несколько одновременно.
Примеры
Следует помнить:
- Это общие логи пилота, которые всегда пишутся в Log Window (открыть можно из помощи пилота или опцией set logging open)
- Лог нельзя разделить на части по разными файлам,
- В каждом новом сохраненном файле будет запись о прошедших записях в лог.
- Лог обнуляется при перезапуске пилота либо вызове set logging clear.
- Для использования более детального логирования можно использовать массивы и оператор save_array.
// Пример 1 set #q 2 set %s[1 1] 5 set $s 3 // Пока не исправлен баг, строковую переменную обязательно нужно указать, иначе условие упадет set $luck удача set logging --------------------------------------------------------------- // разделитель для удобства log я нашел %s[1 1] яблок, а скушал #q, и у меня их осталось $s // можно указывать сколько угодно переменных if $s > 5 // Если яблок осталось больше 5, то удачно покушали, иначе объелись set logging $luck else set logging $fail end_if set logging save c:\logs\apple.txt // пишем весь лог в файл
Результат в блокноте:
20:07:55 17 (, 4): - ---------------------------------------------------------------
20:07:55 17 (, 5): - я нашел 5 яблок, а скушал 2, и у меня их осталось 3
20:07:55 17 (, 7): - удача
//Пример 2 log mode compact log Я нашел 5 яблок. End_script
Смотрите также
История развития
2.18
Добавил логи:
'set logging <option | text>'
Где option:
- 'on' - включить запись в лог
- 'off' - выключить запись в лог
- 'clear' - очистить лог
- 'save [path]' - сохранить лог в файл
- 'open [x y] [width height]' - открыть окно лога. по-умолчанию x=y=-1, w03, h36
- 'close' - закрыть окно лога
Если не распознано, то просто записывается в лог. список команд пишущих в лог пока ограничен. предлагайте что и как должно в лог писать..
2.23
Добавил возможность выводить в лог выполняющиеся строки скрипта. включается 'set logging commands', выключается 'set logging off'.
Исправил перманентный вис на конуструкции типа 'set logging clear', 'set logging open'.
Добавил возможность выводить в лог выполняющиеся строки скрипта.
Включается:
'set logging commands'
выключается:
'set logging off'
2.30
Исправил непропечатывание некоторых символов в начале сообщения команды 'set logging'.
Добавил галочку "Автоматически открывать лог" при использовании команды 'set logging text'.
Добавил команду 'log', почти аналог 'set logging'.
2.31
Команда 'set logging', указанная без параметров, выводит в лог пустую строку.
Сделал вывод в лог настраиваемым отдельно для каждого скрипта с помощью команды 'set logging mode [параметры]'. Если, при очередном вызове этой команды, какой-либо параметр не указан, то он устанавливается в значение "по-умолчанию".
параметры: noTime - не выводить в лог время noNumber - не выводить в лог номер скрипта noScript - не выводить в лог имя скрипта noLine - не выводить в лог номер строки compact - всё выше перечисленное без параметров - установить настройки "по-умолчанию" (отображать всё)
2.32
Добавил вывод в скобках значения элемента массива после его имени, для команды 'set logging commands'.
Добавил вывод значения переменной после присваивания в команде 'set', при включенном 'set logging commands'. Выводится отдельной строкой.
Добавил логи для каждого скрипта отдельно. По достижении 1000 строк, обрезается до 500. Переключаются при переключении закладок скрипта (при активном главном логе 'M', переключения не происходит), или непосредственно в окне лога.
В связи с этим к команде 'set logging'добавились два параметра:
clear_current - очистить текущий персональный лог save_current <path> - сохранить текущий персональный лог в указанный файл
Исправил непропечатывание некоторых символов в начале сообщения команды 'log'.
set #a #a + #b * %arr [ 2 #c ] // set #a(5) #a(5) + #b(8) * %arr [ 2 #c(11) ]
2.33
Пункт меню "?\Log Window", переделал в кнопочку "log" на закладке "Скрипт".
Добавил галочку рядом с новой кнопочкой "log" на закладке "Скрипт", аналог команды 'set logging commands'.
Починил команду 'log open'.
Добавил команду 'log level [number]'.
2.34
Дочинил команду 'log open'.
2.36
Исправил вывод значения переменной после присваивания в команде 'set', при включенном 'set logging commands'.
Добавил команду очистки логов всех скриптов 'set logging clear_All'.
Добавил в вывод в лог миллисекунды. Включается 'set logging mode fulltime'. Выключается 'set logging mode shorttime'.
2.37
Добавил несколько зарезервированных переменных: (ПОКА ТОЛЬКО ДЛЯ ЧТЕНИЯ)
'loghandle' - хэндл окна лога, либо '0', если не существует; 'logautoopen' - галочка из настроек "Автоматически открывать лог", соответственно '0' либо '1'; 'messagesoutputto' - куда выводить сообщения: 2 - ToMessageBox 4 - ToHint 8 - Dev/null если включено "ToLog", то + 1 соответственно.
2.38
Исправил ошибку, возникающую при выводе в лог больших объемов информации. Выводим в лог кусками по 16 кб. В файле лога в месте соединения будет перевод строки.
Исправил незапланированный вывод в лог устаревшего сообщения об ошибке.
Исправил вывод в лог сообщений об ошибках при включенной галочке "Выводить сообщения в... Log".
2.39
Исправил установку размеров в команде 'log open', при первом открытии окна лога.
Исправил команду 'log close', открывавшую закрытый лог.