快速了解一个方便的日志库,来帮助你掌握这个重要的编程概念。
-- Ben Nuttall
logzero 库使日志记录就像打印语句一样容易,是简单性的杰出代表。我不确定 logzero 的名称是否要与 pygame-zero、GPIO Zero 和 guizero 这样的 “zero 样板库”契合,但是肯定属于该类别。它是一个 Python 库,可以使日志记录变得简单明了。
你可以使用它基本的记录到标准输出的日志记录,就像你可以使用 print 来获得信息和调试一样,学习它的更高级日志记录(例如记录到文件)的学习曲线也很平滑。
首先,使用 pip 安装 logzero:
在 Python 文件中,导入 logger 并尝试以下一个或所有日志实例:
输出以易于阅读的方式自动着色:
Python, Raspberry Pi: import logger
因此现在不要再使用 来了解发生了什么,而应使用有相关日志级别的日志器。
在 Python 中将日志写入文件
如果你阅读至此,并会在你写代码时做一点改变,这对我就足够了。如果你要了解更多,请继续阅读!
写到标准输出对于测试新程序不错,但是仅当你登录到运行脚本的计算机时才有用。在很多时候,你需要远程执行代码并在事后查看错误。这种情况下,记录到文件很有帮助。让我们尝试一下:
现在,你的日志条目将记录到文件 中。记住确保脚本有权限写入该文件及其目录结构。
你也可以指定更多选项:
现在,当提供给 文件的数据达到 1MB(106字节)时,它将通过 、 等文件轮替写入。这种行为可以避免系统打开和关闭大量 I/O 密集的日志文件,以至于系统无法打开和关闭。更专业一点,你或许还要记录到 。假设你使用的是 Linux,那么创建一个目录并将用户设为所有者,以便可以写入该目录:
然后在你的 Python 代码中,更改 路径:
当要在 中捕获异常时,可以使用 :
这将输出(在 为零的情况下):
你会得到日志,还有完整回溯。另外,你可以使用 并隐藏回溯:
现在,将产生更简洁的结果:
Logging output
领取专属 10元无门槛券
私享最新 技术干货