Python中logging模块对日志的使用
2020-07-15 06:21
561 查看
Python中logging模块的使用
简介
- Python的 logging模块主要是对日志的应用管理,用于输出运行日志以及追踪程序的运行情况
- 可以根据自己的习惯设置不同的日志等级,从而筛选出重要信息
- 日志等级:CRITICAL > ERROR > WARNING > INFO > DEBUG
import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')
运行结果:
WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message配置日志级别,日志格式,输出位置
import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(name)s %(levelname)s %(message)s', datefmt='%a, %d %b %Y %H:%M:%S', filename='test.log', filemode='w') '''format是格式化输出,datafmt是给每条日志加上时间区分, filename是给日志文件命名,filemode是权限w表示写''' logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')
运行结果:
Tue, 23 Jun 2020 19:37:54 root DEBUG debug message Tue, 23 Jun 2020 19:37:54 root INFO info message Tue, 23 Jun 2020 19:37:54 root WARNING warning message Tue, 23 Jun 2020 19:37:54 root ERROR error message Tue, 23 Jun 2020 19:37:54 root CRITICAL critical messagelogging中常用的Handler对象的使用
- Handler对象负责发送相关的信息到指定目的地
fh = logging.FileHandler('文件根目录') ch = logging.StreamHandler()
- logging.StreamHandler()表示通过控制台输出日志
- logging.FileHandler(‘文件根目录’)表示将日志写入指定文件
可以通过addHandler()方法为Logger添加多个Handler:
logger.addHandler(fh) logger.addHandler(ch)
- 多个Handler可以在运行时同时输出几个不同名字或级别的日志:
logger = logging.getLogger() logger.setLevel(logging.INFO) fh = logging.FileHandler('全部输出的根目录', encoding='utf8') fh.setLevel(logging.INFO) # 创建一个handler写入错误日志 eh = logging.FileHandler('error时输出的根目录', encoding="utf8") eh.setLevel(logging.ERROR) # 创建一个handler输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.INFO) # 定义日志输出格式 # 以时间-日志器名称-日志级别-日志内容的形式展示 all_log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 以时间-日志器名称-日志级别-文件名-函数行号-错误内容 error_log_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(lineno)s - %(message)s') # 将定义好的输出形式添加到handler fh.setFormatter(all_log_formatter) ch.setFormatter(all_log_formatter) eh.setFormatter(error_log_formatter) # 给logger添加handler logger.addHandler(fh) logger.addHandler(eh) logger.addHandler(ch)
相关文章推荐
- python日志模块logging的使用
- python2.7使用logging模块记日志,中文记入后乱码解决办法
- Python 日志模块logging使用总结
- [Python]logging模块使用basicConfig后记录日志重复问题
- Python 中 logging 日志模块在多进程环境下的使用
- python标准日志模块logging的使用方法
- python 的日志logging模块使用方法
- Python3 使用 logging 模块输出日志中的中文乱码解决办法
- python中logging日志模块的使用
- python的日志logging模块使用总结
- python标准日志模块logging的使用方法
- python的日志logging模块使用总结
- python标准日志模块logging的使用方法
- Python 中 logging 日志模块在多进程环境下的使用
- Python自带的日志模块logging的使用
- Python 中 logging 日志模块在多进程环境下的使用
- Python的日志记录-logging模块的使用
- 使用python logging 模块将日志打印到Logstash
- python中logging日志模块使用(简单配置、完成配置、多进程)
- python logging 日志模块的配置和使用