python3 日志记录模块 logging

logging 日志记录模块

logging 模块官网说明

logging 的函数

日志记录的级别

logging.debug(msg, *args, **kwargs)

logging.info(msg, *args, **kwargs)

logging.warning(msg, *args, **kwargs)

logging.error(msg, *args, **kwargs)

logging.critical(msg, *args, **kwargs)

日志级别排序 CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET


示例

import logging
logging.info('this is info message')
logging.debug('this is debug message')
logging.warning('this is warning message')
logging.error('this is error message')
logging.critical('this is critical message')

结果

WARNING:root:this is warning message
ERROR:root:this is error message
CRITICAL:root:this is critical message

默认只打印 info 级别以上的信息,即只打印 warning,error,critical 级别的信息


logging.basicconfig() 函数

该函数可以用来修改日志的输出格式和方式,作用是将修改后的日志内容,写入到一个文件中。

logging.basicConfig(**kwargs)

可选参数如下:
注意 level 的参数,必须大写,logging.WARING 等等

filename    指定日志文件名

filemode    指定日志文件打开的模式,w 或 a

level       指定日志级别,默认 logging.WARNING

format      指定输出的格式和内容,format 的参考信息如下

datefmt     使用指定的时间格式,format 参数中有 asctime 的话,需要使用 datefmt 指定格式

format 输出格式参数

%(levelno)s:    打印日志级别的数值

%(levelname)s:  打印日志级别名称

%(pathname)s:   打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s:   打印当前执行程序名

%(funcName)s:   打印日志的当前函数

%(lineno)d:     打印日志的当前行号

%(asctime)s:    打印日志的时间

%(thread)d:     打印线程ID

%(threadName)s: 打印线程名称

%(process)d:    打印进程ID

%(message)s:    打印日志信息

datefmt 参数和 time() 模块中的参数一致,可以参考笔记本中的 time() 模块文档,参考地址。

示例

import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', datefmt='%Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w')

logger = logging.getLogger(__name__)
logging.debug('this is debug message')
logging.info('this is info message')
logging.warning('this is warning message')

logger = logging.getLogger(name) 一般在日志文件中写入该行 =大师兄python

输出结果,在 执行脚本的当前目录下,创建了一个 myapp.log 的文件,里面的输出结果为:

2017/10/27 07:59:26 sucre.py[line:47] DEBUG this is debug message
2017/10/27 07:59:26 sucre.py[line:48] INFO this is info message
2017/10/27 07:59:26 sucre.py[line:49] WARNING this is warning message

你可能感兴趣的:(python3 日志记录模块 logging)