python学习-57 logging模块
程序员文章站
2022-08-03 19:31:29
logging 1.basicConfig方式 设置级别: 如果想要存到文件里: 时间和行号 运行之后文件里这样显示的 2.format参数中可能用到的格式化串: %(name)s Logger的名字 %(levelno)s 数字形式的日志级别 %(levelname)s 文本形式的日志级别 %(p ......
logging
1.basicconfig方式
import logging # 以下是日志的级别 logging.debug('debug message') logging.info('info message') logging.warning('warning msg') logging.error('error msg') logging.critical('critical msg')
设置级别:
logging.basicconfig(level=logging.debug)
如果想要存到文件里:
logging.basicconfig(level=logging.debug,filename='logger.logo')
logging.basicconfig(level=logging.debug,filename='logger.logo',filemode='w')
时间和行号
format='%(asctime)s %(lineno)d %(message)s'
运行之后文件里这样显示的
2019-08-23 10:15:44,510 11 debug message
2019-08-23 10:15:44,511 12 info message
2019-08-23 10:15:44,511 13 warning msg
2019-08-23 10:15:44,512 14 error msg
2019-08-23 10:15:44,513 15 critical msg
2.format参数中可能用到的格式化串:
--- %(name)s logger的名字
---%(levelno)s 数字形式的日志级别
---%(levelname)s 文本形式的日志级别
---%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
---%(filename)s 调用日志输出函数的模块的文件名
---%(module)s 调用日志输出函数的模块名
---%(funcname)s 调用日志输出函数的函数名
---%(lineno)s 调用函数日志输出函数的语句所在的代码行
---%(created)f 当前时间,用unix标准的表示时间的浮点数表示
---%(relativecreated)d 输出日志信息时的,自logger创建以来的毫秒数
---%(asctime)s 字符串形式的当前时间,默认格式是“2003-07-08 16:49:45,896” 逗号后面是毫秒
---%(thread)d 线程id。可能没有
---%(threadname)s 线程名。可能没有
---%(process)d 进程id。 可能没有
---%(message)s 用户输出的信息
3.logger对象
import logging logger = logging.getlogger() # 创建对象 f = logging.filehandler('test_log') # 向文件里发送内容 screen = logging.streamhandler() # 向屏幕发送内容 ff = logging.formatter('%(asctime)s' '%(message)s') f.setformatter(ff) screen.setformatter(ff) logger.addhandler(f) logger.addhandler(screen) logger.setlevel('debug') logger.debug('debug') logger.info('info') logger.warning('warning') logger.error('error') logger.critical('critical')
运行结果屏幕上也显示,也能存到文件里
改为函数的形式:
import logging def logger(): logger = logging.getlogger() # 创建对象 f = logging.filehandler('test_log') # 向文件里发送内容 screen = logging.streamhandler() # 向屏幕发送内容 ff = logging.formatter('%(asctime)s' '%(message)s') f.setformatter(ff) screen.setformatter(ff) logger.addhandler(f) logger.addhandler(screen) logger.setlevel('debug') return logger logger = logger() logger.debug('debug') logger.info('info') logger.warning('warning') logger.error('error') logger.critical('critical')
上一篇: 内置函数操作
下一篇: 南明最大胜仗是什么战役?天下震动