2017-02-19 2 views
0

Я пытаюсь понять, как захватывать сообщения, созданные приложением Python/NumPy при запуске моего скрипта. Я хотел бы, чтобы регистрировать все порождена консольных сообщений (ошибки, предупреждения) в тот же файл, как это определено в моих логах кода с временными метками:Запись сообщений консоли Python/NumPy

def LogToFile(): 
global logger 
logger = logging.getLogger('MyApp') 
logger.setLevel(logging.DEBUG) 
file_log_handler = RotatingFileHandler('logfile.log', maxBytes=1024, backupCount=5) 
logger.addHandler(file_log_handler) 
stderr_log_handler = logging.StreamHandler() 
logger.addHandler(stderr_log_handler) 
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') 
file_log_handler.setFormatter(formatter) 
stderr_log_handler.setFormatter(formatter) 
return logger 
+0

Does [это] помощь (http://stackoverflow.com/a/4675744/7207392) каким-либо образом? И повторные ошибки, [это] (http://stackoverflow.com/a/22434262/7207392)? –

+0

Спасибо, Пол, но не совсем. Ваш метод будет просто перенаправлять вывод консоли в отдельный файл. Я ищу способ использовать стандартные средства ведения журнала Python, чтобы иметь один вращающийся файл журнала, собирающий всю информацию с отметками времени и т. Д. –

ответ

0

AFAIK, вы должны указать это в basicConfig, а не в ваш регистратор:

logging.basicConfig(filename=LOG_FILE, 
        level=logging.DEBUG) 

перед тем вы

logger = logging.getLogger('MyApp') 

logger.setLevel(logging.DEBUG)