我试图了解fabric的记录器模块是如何工作的。我在命令行上运行:
$ fabfile -I task-1
我当然得到输出到控制台,显示我在连接到的每个远程主机上执行任务。我如何将错误输出重定向到本地计算机上的日志文件并在其上添加时间戳? Fabric的记录器模块是否提供此功能?或者我应该使用Python的日志记录模块。无论哪一个,我都不确定如何实施。
不幸的是,Fabric没有记录到文件(请参阅issue #57)
但是有一个使用logging
模块的解决方法,我发现它非常好。
首先,配置您的记录器:
import logging
logging.basicConfig(
level=logging.DEBUG, format='%(asctime)s:%(levelname)s:%(name)s:%(message)s',
filename="out.log",
filemode='a'
)
然后用像这样的try/catch
块包装代码中可能会抛出错误的部分:
try: #code except: logging.exception('Error:')
记录器将打印'Error:'
和异常的stacktrace到“out.log”