Найти - Пользователи
Полная версия: Как перенаправить Traceback в лог файл вместо консоли?
Начало » Python для экспертов » Как перенаправить Traceback в лог файл вместо консоли?
1
knkd
Хочется чтоб пользователя вывод программы не смущал, а вся информация оседала в логе.
truporez
Поможет модуль logging и basicConfig
igor.kaist
Для простых случаев сгодится просто
import sys
sys.stderr=open(FILENAME,'a+')
P.S. В идеале, ошибок вообще не должно быть. Постарайся перехватить исключения, которые могут быть.
knkd
igor.kaist
В идеале, ошибок вообще не должно быть.
Хде ж он тот идеал? :)
igor.kaist
knkd
Хде ж он тот идеал? :)
Но перехватывать наиболее вероятные исключения все же надо.
Пример: программа коннектится к серверу. Если коннект не произошел, то лучше перехватить исключение, и сказать об этом пользователю в понятной ему форме, а в лог записать трейсбек.
knkd
igor.kaist
Пример: программа коннектится к серверу. Если коннект не произошел, то лучше перехватить исключение, и сказать об этом пользователю в понятной ему форме, а в лог записать трейсбек.
Та сервера мне пока писать рано, да и незачем. У меня входные текстовые файлы заполненныи цифирями и буковами в разных кодировках.
Никак повлиять на их содержимое я не могу, они генерируются совершенно другими программами.
Большинство ошибок на фоне кодировок.
Всплывают сволочи, в самых неожиданных местах. Переписать бы всё, да руки не доходят, проще варнинги спрятать чтоб никто не видел :)
igor.kaist
Насчет сервера привел как пример.
knkd
У меня входные текстовые файлы заполненныи цифирями и буковами в разных кодировках.
По поводу этого могу посоветовать это http://chardet.feedparser.org
Поверь, легче будет ловить исключения. Если они возникают в самых неожиданных местах, то скорее нужно пересмотреть всю программу…
По теме вопрос закрыт? На правах оффтопа, советую всетаки не забивать на экзепшины. Сам много на этом спотыкался, когда в приложении, предназначенном для конечного пользователя, как раз таки выводил ошибки в лог, а об элементарном месседж боксе “неверный файл базы данных” забывал, что не есть юзер френдли :)
knkd
igor.kaist
Поверь, легче будет ловить исключения.
Та надо. Но проще мусор под коврик…
igor.kaist
По поводу этого могу посоветовать это http://chardet.feedparser.org
Проверил на файле с одной кодировкой ‘cp866’ и цифрами - не работает. Пишет что кодировка ‘None’.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB