Форум сайта python.su
В общем есть скрипт запускающий кучу других по циклу.
Можно ли как-то stderr (stdout) вызываемых скриптов выводить в определенный файл без изменений вызываемых функций?
Вариант через баш типа >/dev/null 2>&1 мне не подходит (нужен лог файл для каждого вызываемого скрипта с разными идентификаторами в названии)
Отредактировано oreol (Янв. 12, 2017 18:48:21)
Офлайн
oreolА пример лога можно? Так непонятно что вы хотите. Что за названия? Для каждого? Это лог для каждого или идентификаторы для каждого?
нужен лог файл для каждого вызываемого скрипта с разными идентификаторами в названии
oreolКонечно можно, вариантов миллион.
Можно ли как-то stderr
Офлайн
doza_andлог запускаемого скрипта
2017-01-13 09:36:38.621193 domria_ki runКрохотный кусок лога stderr одной из вызываемых функций (писал не я)
{'taken': 1, ‘saved’: 0, ‘processed’: 1}
2017-01-13 09:36:40.608997 domria_ki stop
2017-01-13 09:36:40.613774 domria_kh run
{'taken': 11, ‘saved’: 10, ‘processed’: 11}
2017-01-13 09:37:04.864896 domria_kh stop
DEBUG:django.db.backends0.003) SELECT `board_advert`.`id`, `board_advert`.`date_of_update` FROM `board_advert` WHERE (`board_advert`.`city_id` = 3 AND `board_advert`.`author_id` = 8606 AND `board_advert`.`category_id` = 17 AND `board_advert`.`link` = 'https://www.olx.ua/obyavlenie/prodam-kafe-ID9d4IF.html' ) ORDER BY `board_advert`.`date_of_update` DESC LIMIT 1; args
3, 8606, 17, 'https://www.olx.ua/obyavlenie/prodam-kafe-ID9d4IF.html')
DEBUG:grab.network: GET https://www.olx.ua/nedvizhimost/arenda-kvartir/dnepr/?view=list
DEBUG:django.db.backends0.001) SELECT `board_advert`.`id`, `board_advert`.`date_of_update` FROM `board_advert` WHERE (`board_advert`.`city_id` = 3 AND `board_advert`.`author_id` = 8606 AND `board_advert`.`category_id` = 26 AND `board_advert`.`link` = 'https://www.olx.ua/obyavlenie/sdam-v-arendu-uchastok-IDotjMu.html' ) ORDER BY `board_advert`.`date_of_update` DESC LIMIT 1; args
3, 8606, 26, 'https://www.olx.ua/obyavlenie/sdam-v-arendu-uchastok-IDotjMu.html')
DEBUG:grab.stat:RPS: 2.92
DEBUG:grab.network: GET https://www.olx.ua/nedvizhimost/arenda-komnat/dnepr/?view=list
DEBUG:django.db.backends0.001) SELECT `board_advert`.`id`, `board_advert`.`date_of_update` FROM `board_advert` WHERE (`board_advert`.`city_id` = 3 AND `board_advert`.`author_id` = 8606 AND `board_advert`.`category_id` = 21 AND `board_advert`.`link` = 'https://www.olx.ua/obyavlenie/srochno-sdam-1-kv-v-novostroe-na-kirova-27d-IDpGPAs.html' ) ORDER BY `board_advert`.`date_of_update` DESC LIMIT 1; args
3, 8606, 21, 'https://www.olx.ua/obyavlenie/srochno-sdam-1-kv-v-novostroe-na-kirova-27d-IDpGPAs.html')
DEBUG:django.db.backends0.023) SELECT `board_advert`.`id`, `board_advert`.`date_of_update` FROM `board_advert` WHERE (`board_advert`.`city_id` = 3 AND `board_advert`.`author_id` = 8606 AND `board_advert`.`category_id` = 21 AND `board_advert`.`link` = 'https://www.olx.ua/obyavlenie/sdam-v-arendu-realnuyu-bolshuyu-1-kom-kvartiru-na-zh-m-frunzenskiy-IDpGOHy.html' ) ORDER BY `board_advert`.`date_of_update` DESC LIMIT 1; args
3, 8606, 21, 'https://www.olx.ua/obyavlenie/sdam-v-arendu-realnuyu-bolshuyu-1-kom-kvartiru-na-zh-m-frunzenskiy-IDpGOHy.html')
DEBUG:django.db.backends0.001) SELECT `board_advert`.`id`, `board_advert`.`date_of_update` FROM `board_advert` WHERE (`board_advert`.`city_id` = 3 AND `board_advert`.`author_id` = 8606 AND `board_advert`.`category_id` = 21 AND `board_advert`.`link` = 'https://www.olx.ua/obyavlenie/cdam-2k-na-gagarina-IDpGPy0.html' ) ORDER BY `board_advert`.`date_of_update` DESC LIMIT 1; args
3, 8606, 21, 'https://www.olx.ua/obyavlenie/cdam-2k-na-gagarina-IDpGPy0.html')
Отредактировано oreol (Янв. 13, 2017 10:29:51)
Офлайн
У меня сложилось впечатление что вы хотите в один лог файл собрать вывод внешних процессов, но хотите его разметить сообщениями какой это процесс записал.
oreol
Вариант через баш типа >/dev/null 2>&1 мне не подходит
Офлайн
doza_andА кроме баш вывода 2>>. Просто если так сделать то будет весь лог по всем скриптам, а это очень неудобно. А писать скрипт на обработку этого огромного файла (даже если за день/час) совсем не хочется (+ дополнительная нагрузка/ задача в крон не нужна)
У меня сложилось впечатление что вы хотите в один лог файл собрать вывод внешних процессов, но хотите его разметить сообщениями какой это процесс записал.
Отредактировано oreol (Янв. 14, 2017 19:35:42)
Офлайн
Приветите пожалуйста пример что конкретно вы хотите получить. ведь непонятно.Я именно об этом писал раньше.
Отредактировано doza_and (Янв. 14, 2017 20:59:51)
Офлайн