2017-02-19 44 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)