您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python实现自定义日志的具体方法

51自学网 2021-10-30 22:37:13
  python
这篇教程python实现自定义日志的具体方法写得很实用,希望能帮到您。

1、导入logging模块:

import logging

2、创建日志收集器:

logger = logging.getLogger(“日志收集器的name”)

3、设置日志收集器的日志级别:

logger.setLevel(logging.INFO) #设置收集器的级别为INFO。

4、给日志收集器创建输出渠道,根据第一部分的内容知:日志输出渠道包含控制台输出和文件输出。

5、设置日志输出的内容格式。

# 设置日志的输出格式 fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s-%(lineno)d:%(message)s" formatter = logging.Formatter(fmt)

6、将设置的日志格式绑定到创建的输出渠道中,即将日志格式与输出渠道关联起来。

7、将设置好的输出渠道,添加到日志收集器。

实例扩展:

import osimport timeimport logging#返回一个logger实例,如果没有指定name,返回root logger。# 只要name相同,返回的logger实例都是同一个而且只有一个,即name和logger实例是一一对应的。# 这意味着,无需把logger实例在各个模块中传递。只要知道name,就能得到同一个logger实例。logger = logging.getLogger('mylogger')# 设置总日志级别, 也可以给不同的handler设置不同的日志级别#设置logger的level, level有以下几个级别:# 级别高低顺序:NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL# 如果把looger的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出 logger.setLevel(logging.DEBUG)# 控制台日志和日志文件使用同一个formatter,formatter用于描述日志的格式formatter = logging.Formatter(	'%(asctime)s - %(filename)s[line:%(lineno)d] - <%(threadName)s %(thread)d>' +	'- <Process %(process)d> - %(levelname)s: %(message)s')# asctime:日志产生的时间;filename:产生日志的脚本文件名;lineno:该脚本文件哪一行代码产生了日志# threadName: 当前线程名;thread: 当前进程名;Process进程同thread线程# levelname: logger的级别;meesage: 具体的日志信息# 创建Handler, 输出日志到控制台和文件# 日志文件FileHandlerbasedir = os.path.abspath(".") #返回脚本所在的绝对路径log_dir = os.path.join(basedir, 'logs')  # 日志文件所在目录,即‘脚本路径/logs'if not os.path.isdir(log_dir):	os.mkdir(log_dir)filename = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) + '.log'  # 日志文件名,以当前时间命名file_handler = logging.FileHandler(os.path.join(log_dir, filename))  # 创建日志文件handlerfile_handler.setFormatter(formatter)  # 设置Formatterfile_handler.setLevel(logging.INFO)  # 单独设置日志文件的日志级别# 控制台日志StreamHandlerstream_handler = logging.StreamHandler()stream_handler.setFormatter(formatter)# stream_handler.setLevel(logging.INFO)  # 单独设置控制台日志的日志级别,注释掉则使用总日志级别# 将handler添加到logger中logger.addHandler(file_handler)logger.addHandler(stream_handler)

到此这篇关于python实现自定义日志的具体方法的文章就介绍到这了,更多相关python自定义日志如何实现内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python 爬取京东指定商品评论并进行情感分析
利用Python+OpenCV三步去除水印
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。