Python 设置登录控制台脚本
我有一个python控制台脚本,我不想修改它的源代码 但是我想修改由脚本及其库完成的日志记录 示例:Python 设置登录控制台脚本,python,logging,Python,Logging,我有一个python控制台脚本,我不想修改它的源代码 但是我想修改由脚本及其库完成的日志记录 示例: 我希望邮件发送到错误级别的邮件foo@example.com 我希望忽略foo.py文件的信息消息 我想在日志消息中包括PID 该脚本使用以下记录器: import logging logger=logging.getLogger(__name__) del(logging) 如果我不想修改控制台脚本的源代码,如何配置日志记录?您可以使用包装器脚本加载它。在包装器中,根据需要设置日志记录配
- 我希望邮件发送到错误级别的邮件foo@example.com
- 我希望忽略foo.py文件的信息消息
- 我想在日志消息中包括PID
import logging
logger=logging.getLogger(__name__)
del(logging)
如果我不想修改控制台脚本的源代码,如何配置日志记录?您可以使用包装器脚本加载它。在包装器中,根据需要设置日志记录配置(例如,
logging.basicConfig()
,或根据需要添加日志记录处理程序),然后运行脚本。如果脚本有一个主函数(在脚本中查找
如果uuuu name_uuuu==“uuuuuu main_uuuuu”:
),您只需导入文件并运行该函数:
import sys
import logging
logging.basicConfig(...)
import my_console_script
sys.exit(my_console_script.main())
如果它没有这样一个函数,那么只需导入它就会运行它的内容(您可以省略
sys.exit()
调用)。您需要获取现有的lib记录器,将其删除并放置自定义记录器。
另见此处:
我在这里找到了一个解决方案:听起来像是一个肮脏的黑客,但也许没有更好的解决方案。