Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
vkozlov
Partner - Creator
Partner - Creator

Создание файла журнала. Изменить путь записи логов.

Коллеги, приветствую

Интересует следующий вопрос:

В свойствах документа есть флаги, после установки которых генерируются файлы логов выполнения скрипта в каталог с приложением.

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

1 Solution

Accepted Solutions
vkozlov
Partner - Creator
Partner - Creator
Author

Спасибо за участие.

Но через батник скрипт запускать я бы не стал, т.к. процесс пойдет через QV.exe, не через шедулер QV сервера.

Минусы к примеру - при прерывании не будет рассылки пользователю о проблеме загрузки. Не будет вестись QV - серверное логирование, инфы типа "Среднее время загрузки" и т.п.

Вероятно лучший вариант

1. Запустить скрипт через шедулер QV сервера и по окончании автоматом по условию запускать еще один скрипт перемещения логов с EXECUTE cmd.exe

2. Либо батник в шедулер винды, который раз в день подчищает нужные папки, перемещая из них логи в соответствующий каталог.

View solution in original post

9 Replies
Chernov
Creator
Creator

Нет, нельзя.

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

Используйте только для отладки.

vkozlov
Partner - Creator
Partner - Creator
Author

Беда печаль =/

Пример:

Иногда до конца не отрабатывает ETL с несколькими различными коннекторами и большими массивами данных. Интересно посмотреть на каком уровне проблема.

Так к примеру выявили нехватку ресурсов на машине с SQL базой. Вылетал ODBC, когда машина перегружена была.

Eugeny_Ilyin
Creator II
Creator II

Привет.

Создайте свою систему логирования скриптов используя для этого библиотеку скриптов qvc. Дополнительно, можно будет сделать отдельное хранилище лог-файлов с регистрацией времени выполнения скриптов, что позволит держать под контролем весь ETL-процесс.

vkozlov
Partner - Creator
Partner - Creator
Author

Евгений, интересно

Нету ли под рукой гайда по работе с библиотекой?

Not applicable

Привет.

1. В конце скрипта копируйте лог в нужную директорию:

EXECUTE cmd.exe /c copy "c:\1\q.qvw.log" "c:\2\q.qvw.log";

А потом удалите файл:

EXECUTE cmd.exe /c del "c:\1\q.qvw.log";

2. Или переместить файл:

EXECUTE cmd.exe /c move "c:\1\q.qvw.log" "c:\2\q.qvw.log";

Eugeny_Ilyin
Creator II
Creator II

В составе пакета есть документация и примеры на каждую функцию.

GitHub - RobWunderlich/Qlikview-Components: A library for common Qlikview Scripting tasks

vkozlov
Partner - Creator
Partner - Creator
Author

Идейка здравая. Но не отрабатывает как надо, если прописать в конце скрипта.

Походу логи создаются после полного выполнения скрипта.

     То есть

1. нужно сделать дополнительный скрипт QV отдельно, который по регламенту будет отрабатывать после основного, генерирующего лог.

2. Либо сделать в шедулере регламентное задание, которое раз в день будет в нужных папках файлы разгребать.

Спасибо

Not applicable

Гы. Не подумал об этом.

Да, тогда лучше запускать через батник:

"C:\Program Files\QlikView11\Qv.exe" /r "C:\1\q.qvw"

move "c:\1\q.qvw.log" "c:\2\q.qvw.log"

vkozlov
Partner - Creator
Partner - Creator
Author

Спасибо за участие.

Но через батник скрипт запускать я бы не стал, т.к. процесс пойдет через QV.exe, не через шедулер QV сервера.

Минусы к примеру - при прерывании не будет рассылки пользователю о проблеме загрузки. Не будет вестись QV - серверное логирование, инфы типа "Среднее время загрузки" и т.п.

Вероятно лучший вариант

1. Запустить скрипт через шедулер QV сервера и по окончании автоматом по условию запускать еще один скрипт перемещения логов с EXECUTE cmd.exe

2. Либо батник в шедулер винды, который раз в день подчищает нужные папки, перемещая из них логи в соответствующий каталог.