2017-02-19 48 views
0

我試圖找出如何運行我的腳本時捕捉的Python/NumPy的intractive殼產生的消息。我想記錄所有控制檯消息(錯誤,警告),以相同的文件生成爲在我的代碼日誌消息與時間戳定義爲:記錄的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

不以任何方式[這](http://stackoverflow.com/a/4675744/7207392)的幫助?並重新錯誤,[這](http://stackoverflow.com/a/22434262/7207392)? –

+0

謝謝保羅,但不是真的。你的方法只是將控制檯輸出重定向到單獨的文件。我正在尋找一種方法來使用標準的Python日誌記錄工具,以便讓單個旋轉的日誌文件收集帶時間戳的所有信息等。 –

回答

0

據我所知,你必須在basicConfig指定這個,不是在您的記錄:

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

之前,你做

logger = logging.getLogger('MyApp') 

logger.setLevel(logging.DEBUG)