python - 如何将python记录器信息重定向到python中的日志文件
问题描述
我想将所有 python 记录器消息写入日志文件。我有这段代码,但代码在控制台上显示消息,只是创建日志文件,但什么也不写。
file_handler = logging.FileHandler(filename='tmp.log')
stdout_handler = logging.StreamHandler(sys.stdout)
handlers = [file_handler, stdout_handler]
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',
handlers=handlers
)
logger = logging.getLogger("somename")
我在这里做错了什么
解决方案
这样做,而不是:
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',
filename='tmp.log'
)
logging.debug("somename")
如果filename
提供了参数,basicConfig
则表示文件以这种模式打开。默认为a
,表示追加。
推荐阅读
- java - 使用 maven 启动应用程序时如何解决“找不到工件 javax.xml.ws:WebServiceContext”错误?
- azure - Blob 存储 ID 无法通过 Azure 函数插入到 Azure SQL 数据库
- javascript - Javascript 下拉按钮
- node.js - 如何使用节点js从html视图上的api获取数据?
- javascript - 使用 BLOB 通过 FormData 上传文档时出现丑陋的请求负载
- r - 想要使用 `diffenv` 但有不同的波长
- c# - 在 IIS 上托管后 .net Core 中的 .xlsx 文件出现问题
- server - 如何从 Tk 接口运行服务器
- jupyter-notebook - 使用 jupyter notebook 在 markdown 中导出 Plotly Graph
- vba - 将 Excel 中的行转换为 XML、VBA 代码并发布到 Web 服务 - 需要高效