多语言展示
当前在线:1166今日阅读:176今日分享:34

Python记录日志的方式

Python记录日志用到了logging模块,logging模块系统定义了五个级别的日志,分别是‘DEBUG’调试、‘INFO’信息、‘WARNING’警告、‘ERROR’错误、‘CRITICAL’严重错误,等级依次提升。
工具/原料
1

Python3

2

Windows电脑

方法/步骤
1

打开Python开发者工具‘IDLE’,新建‘log.py’文件,写代码如下:import logginglogging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')

2

F5运行程序,可以看到logging打印出来的信息:WARNING:root:warn messageERROR:root:error messageCRITICAL:root:critical message打印顺序:级别:用户:内容

3

但是打印出来的信息都是warning级别及以上的信息。debug和info级都没有打印,这是因为logging默认级别是warning。改写‘log.py’代码如下:import logginglogging.basicConfig(level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')

4

F5运行程序,可以看到logging打印出来的信息:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message

5

logging.basicConfig进行传递level参数,这样就打印出debug级及以上级别的信息,当要把内容输入到文件,改成代码如下:import logginglogging.basicConfig(filename='mylog.txt',level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')

6

F5运行程序,可以在‘log.py’所在文件夹目录找到‘mylog.txt’文件,打开文件,内容如下:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message和在shell中打印的一致

7

再改写‘log.py’代码,使输出内容更合理,代码如下:import logginglogging.basicConfig(filename = 'mylog.txt', format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",level=logging.DEBUG)logging.warning('warn message')logging.info('info message')logging.debug('debug message')logging.error('error message')logging.critical('critical message')

8

F5运行程序,可以在‘log.py’所在文件夹目录找到‘mylog.txt’文件,打开文件,内容如下:WARNING:root:warn messageINFO:root:info messageDEBUG:root:debug messageERROR:root:error messageCRITICAL:root:critical message2018-12-21 15:13:03,061 - root - WARNING - warn message2018-12-21 15:13:03,062 - root - INFO - info message2018-12-21 15:13:03,062 - root - DEBUG - debug message2018-12-21 15:13:03,063 - root - ERROR - error message2018-12-21 15:13:03,063 - root - CRITICAL - critical message打印顺序:时间-用户-级别-内容 这是在 format参数中传递的,这样的日志记录基本能满足一个小程序所需要记录的内容。

推荐信息