View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003757 | SAS.Планета | Хотелка / Feature request | public | 03-04-2021 11:25 | 09-04-2021 11:56 |
| Reporter | VadimK | Assigned To | zed | ||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | resolved | Resolution | fixed | ||
| Product Version | 201212 | ||||
| Target Version | 211230 | Fixed in Version | 211230 | ||
| Summary | 0003757: PascalScript: Добавить возможность записи в лог (для отладки) | ||||
| Description | В программе присутствуют довольно скромные возможности по отладке паскаль-скриптов. Поэтому в рантайме основным способом отладки является запись скриптом отладочных сообщений в лог-файлы. Таких файлов может быть очень много (особенно учитывая отсутствие функции дописывания в файл). И логичнее и удобнее было бы распологать всех их в папке с кэшэм. Но скрипту во время работы очень проблематично узнать, где располагается папка с кэшем соответствующего скрипту ZMP. Во-первых, сама программа SASPlanet.exe может быть запущена из любой папки любого диска. Во-вторых, скрипту не известен тип кэша и название папки кэша, которое прописано в params.txt (NameInCache=) Кроме-того не стоит забывать, что операция записи файла сама по себе небезопасна. При определённом стечении обстоятельств можно случайно что-нибудь испортить. | ||||
| Steps To Reproduce | Собственно предложение: добавить функцию записи файла в папку кэша: function SaveToFileInCacheFolder(const Filename: AnsiString; const AData: AnsiString): LongInt; Filename - это путь до файла ВНУТРИ папки кэша. Например: SaveToFileInCacheFolder('\debug.txt',VReaponseData); или SaveToFileInCacheFolder('debug.txt',VReaponseHeader); или SaveToFileInCacheFolder('/GarminSys/'+TileName,VReaponseData); Здесь за корневую папку (\ или /) считается папка с кэшем. Первый слэш можно просто отбрасывать. | ||||
| Additional Information | Кстати, заодно можно было бы добавить фунцию дописываеия файла: function AppendToFileInCacheFolder(const Filename: AnsiString; const AData: AnsiString): LongInt; Пример: AppendToFileInCacheFolder('debug.txt',VReaponseHeader); | ||||
| Tags | No tags attached. | ||||
|
|
Делать, как вы описываете, нельзя по многим причинам. Но можно сделать интерфейс логера, который будет писать в папку logs в корневой папке программы. Имя логфайла давать по имени zmp. |
|
|
Было бы здорово, если бы такой логгер появился! Ибо создавать отдельный лог-файл на каждую запись не очень удобно. :( |
|
|
Судя по примерам использования, вы хотите записывать в лог заголовки и тело запроса, так вот, есть гораздо более удобный способ посмотреть эти данные в реальном времени - Fiddler. В SAS на вкладке Интернет включить "Использовать системные настройки прокси", установить и запустить Fiddler - где вы сможете просматривать абсолютно все сетевые запросы SAS (и не только). |
|
|
Добавил вот такой интерфейс:
внутри скрипта доступна переменная Logger с типом этого интерфейса.Пример использования:
Каждый вывод в лог форматируется следующим образом:
Лог пишется в папку .\Logs\zmp\%имя_zmp%.log |
|
|
Такого функционала достаточно? |
|
|
Да, достаточно! Спасибо огромное! Проверил на своём скрипте - всё работает. На [URL=http://www.sasgis.org/wikisasiya/doku.php/%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2]сайте[/URL] бы обновить упомянуть об этой новой фишке. И других тоже. :) |
|
|
Займитесь, в wiki может писать любой желающий. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 03-04-2021 11:25 | VadimK | New Issue | |
| 03-04-2021 14:22 | zed | Note Added: 0020092 | |
| 05-04-2021 05:28 | VadimK | Note Added: 0020093 | |
| 05-04-2021 08:25 | zed | Product Version | .Nightly => 201212 |
| 05-04-2021 08:25 | zed | Summary | для скриптов: добавить функцию записи файла в папку кэша => PascalScript: Добавить возможность записи в лог (для отладки) |
| 05-04-2021 08:31 | zed | Note Added: 0020094 | |
| 05-04-2021 08:32 | zed | Status | new => confirmed |
| 05-04-2021 08:32 | zed | Target Version | => 211230 |
| 05-04-2021 13:57 | zed | Note Added: 0020095 | |
| 05-04-2021 13:58 | zed | Note Added: 0020096 | |
| 05-04-2021 13:58 | zed | Assigned To | => zed |
| 05-04-2021 13:58 | zed | Status | confirmed => feedback |
| 09-04-2021 11:03 | VadimK | Note Added: 0020107 | |
| 09-04-2021 11:03 | VadimK | Status | feedback => assigned |
| 09-04-2021 11:06 | VadimK | Note Edited: 0020107 | |
| 09-04-2021 11:56 | zed | Note Added: 0020108 | |
| 09-04-2021 11:56 | zed | Status | assigned => resolved |
| 09-04-2021 11:56 | zed | Fixed in Version | => 211230 |
| 09-04-2021 11:56 | zed | Resolution | open => fixed |
| 08-08-2025 13:24 | zed | Category | Хотелка => Хотелка / Feature request |