首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python日志与写入文件

Python日志与写入文件
EN

Stack Overflow用户
提问于 2016-04-24 05:15:41
回答 2查看 1.7K关注 0票数 3

哪个更有效率?与使用open() -> write() -> close()相比,使用logger.info()是否有缺点?

PS。我们正在为一所大学积累查询日志,因此很有可能它很快就会变成大数据(考虑到每天查询日志的最小上限为3GB-9GB,并且它将在一生中连续24/7运行)。如果您能非常详细地解释和区分,效率和易出错的方面,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-24 05:21:34

使用更详细地描述您想要做的事情的方法。你在做日志记录吗?使用logger.*。如果(而且只有当!)这就成了性能问题,然后改变它。在此之前,这是一个您不知道是否需要的优化。

loggingPros

  • 是语义上的。当您看到logging.info(...)时,您知道您正在编写日志消息。
  • 这是惯用的。这就是编写Python日志的方式。
  • 很有效率。也许效率不是很高,但是它的使用非常彻底,所以它有很多很好的优化(比如不对日志消息运行字符串插值,因为日志级别不会发出,等等)。

用于logging**:**的Cons

  • 它并不像发明自己的解决方案那样有趣(它总是变成一个没有特色的、测试不佳、效率较低的logging版本)。

在你知道它不够有效之前,我强烈建议你使用它。同样,如果数据证明它还不够,那么以后总是可以替换它。

票数 4
EN

Stack Overflow用户

发布于 2016-04-24 05:22:40

除非您面临内置功能方面的问题,否则使用内置设备总是更好。

所以,使用内置的日志功能。它是经过验证、测试和非常灵活的--这是你无法用open() -> f.write() -> close()实现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36819540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档