本文主要介绍在使用Python3编程的过程中(不限于传统开发、数据分析还是深度学习)各种实现日志的方案。
1. logging库:日志记录
logging库官方文档:logging — Python 的日志记录工具 — Python 3.11.1 文档
日志常用指引 — Python 3.11.1 文档
使用示例1:
logging.basicConfig(format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s',
datefmt = '%m/%d/%Y %H:%M:%S',
level = logging.INFO)
logger = logging.getLogger(__name__)
#在每个epoch后:
logger.info("Trianing Epoch: {}/{}".format(epoch+1, int(num_epoch)))
输出:
12/09/2022 16:28:12 - INFO - __main__ - Trianing Epoch: 1/16
使用示例2:
logging.basicConfig(level=logging.ERROR, filename='error.log',
format='%(asctime)s %(levelname)s:%(message)s')
logging.error("捕获到 RuntimeError 异常: %s", repr(e))
- 日志轮换和自动清理:
handlers.RotatingFileHandler
2. wandb
可参考我撰写的博文wandb使用教程(持续更新ing…)
3. TensorBoard
4. TensorBoardX
5. fitlog
可参考我撰写的博文fitlog使用教程(持续更新ing…)
6. loguru
可参考这篇博文:loguru——Python优雅日志包_loguru.logger_GeekZW的博客-优快云博客
我是在用textgen包1时知道这个包的
7. nb_log
我有十胜还挺好玩的,虽然我没用过
ydf0509/nb_log: pip install nb_log 各种日志handler和自动转化项目的任意print的效果。日志自动彩色炫酷,可点击控制台的日志自动精确跳转到pycharm的文件和行号。文件日志多进程切割安全。在10个最重要方面全方位超过loguru