PytorchCNN项目搭建1---Logger日志模块
-
从今天开始,要进行一个简单的PytorchCNN完整的项目搭建,整体的代码在我的github上面可以查阅
-
这个项目包括基础了logging、argparse、dataset、model、loss、train & test等函数的编写,尽量把每个函数都进行封装,方便调用,我会一一介绍各个函数
今日先记录一下:
Logging Python日志记录工具
日志是对软件执行时所发生事件的一种追踪方式,软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。
一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。开发者还会区分事件的重要性(重要性也被称为 等级 或 严重性)
所有的Python模块都可以参与日志输出,
Logging提供了一些便利的函数:debug(), info(), warning(), error(), critical()
想要执行的任务 | 最好的工具 |
---|---|
命令行或程序的应用,结果显示在控制台 | print() |
对程序的普通操作发生时提交事件报告 | logging.info() |
提出一个警告信息基于一个特殊的运行时事件 | warning.warn()或logging.warning() |
对一个特殊的运行时事件报告错误 | 引发异常 |
报告错误而不引发异常(如长时间运行中的服务端进行的错误处理) | logging.error(), logging.exception(), logging.critical() |
日志功能应以所追踪事件级别或严重性而定,各级别适用性如下(以严重性递增):
级别 | 使用情况 |
---|---|
DEBUG | 细节信息,仅当诊断问题时适用 |
INFO | 确认程序按预期运行 |
WARNING | 表示有已经或即将发生的意外,程序仍能按照预期进行 |
ERROR | 由于严重的问题,程序的某些功能不能正常执行 |
CRITICAL | 严重的错误,表明程序已不能继续执行 |
**注:**默认级别为warning
一个简单的例子
import logging
logging.warning('Watch out!') # will print a message to the console
logging.info('I told you so') # will not print anything
WARNING:Watch out!
INFO:I told you so
记录日志到文件
import logging
logging.basicConfig(filename='example.log', level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
DEBUG:This message should go to the log file
INFO:So should this
WARNING:And this, too
更改显示消息的格式
import logging
logging