前言

是Python内置的标准模块,主要用于输出运行日志

基本语法


import logging # # logging模块默认设置的日志级别是warning,而debug和info的级别是低于warning的,所以不会打印这两种日志信息
# logging.basicConfig(level=logging.DEBUG)
# logging.debug("debug信息")
# logging.info("info信息")
# logging.warning("warning信息")
# logging.error("error信息")
# logging.critical("critical信息") # 创建一个logger对象,并且设置默认的日志级别
logger = logging.getLogger()
logger.setLevel(logging.DEBUG) # 创建日志格式对象
format = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') #创建FileHandler对象---输出文件日志
fp = logging.FileHandler('test.log','a',encoding='utf-8') # fp.setLevel(logging.DEBUG)
fp.setFormatter(format)
logger.addHandler(fp) # 创建流对象----控制台输出日志
sp = logging.StreamHandler()
sp.setFormatter(format)
logger.addHandler(sp)
logger.setLevel(logging.DEBUG) logger.info('文件记录日志')

封装log实现


import os
import logging
import time
from common.configutils import config_utils current_path = os.path.dirname(__file__)
log_output_path = os.path.join( current_path,'..', config_utils.LOG_PATH ) class LogUtils:
def __init__(self,log_path=log_output_path):
# 创建一个logger对象,并且设置默认的日志级别(必须设置默认日志级别)
log_level = int(config_utils.LOG_LEVER)
self.logger = logging.getLogger() #创建日志对象
self.logger.setLevel(log_level)
self.log_name = os.path.join(log_path, 'ApiTest_%s.log' % time.strftime('%Y_%m_%d')) # 创建日志格式对象
format = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') #创建日志格式对象
# 创建FileHandler对象
fp = logging.FileHandler(self.log_name, 'a', encoding='utf-8')
fp.setLevel(log_level)
fp.setFormatter(format)
self.logger.addHandler(fp) # 创建流对象
sp = logging.StreamHandler()
sp.setFormatter(format)
self.logger.addHandler(sp)
self.logger.setLevel(log_level) sp.close()
fp.close() def get_log(self):
return self.logger if __name__ == '__main__':
logger = LogUtils().get_log()
logger.debug("debug测试写日志功能")

python-logging日志模块,以及封装实现的更多相关文章

  1. Python logging(日志)模块

    python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...

  2. python logging日志模块

    一.logging模块的简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不 ...

  3. python logging 日志模块的配置和使用

    import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(line ...

  4. python 自动化之路 logging日志模块

    logging 日志模块 http://python.usyiyi.cn/python_278/library/logging.html 中文官方http://blog.csdn.net/zyz511 ...

  5. Python入门之logging日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...

  6. Python 中 logging 日志模块在多进程环境下的使用

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Pytho ...

  7. python中的logging日志模块

    日志是程序不可或缺的一部分.它可以记录程序的运行情况,帮助我们更便捷地发现问题,而python中的logging日志模块给我们提供了这个机会. logging给我们提供了五种函数用来输出日志:debu ...

  8. python logging 日志轮转文件不删除问题

    前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logg ...

  9. pyhton——logging日志模块的学习

    https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模 ...

  10. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

随机推荐

  1. Springboot+Druid 动态数据源配置监控

    一.引入maven依赖,使用 starter 与原生 druid 依赖配置有所不同 <dependency> <groupId>com.alibaba</groupId& ...

  2. 《剑指offer》面试题66. 构建乘积数组

    问题描述 给定一个数组 A[0,1,-,n-1],请构建一个数组 B[0,1,-,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×-×A[i-1]×A[i+1]×-×A[n-1].不能使用 ...

  3. 【reverse】逆向3 寻找地址

    [reverse]逆向3 寻找地址 寻址公式一:[立即数] 读取内存的值: mov eax,dword prt ds:[0x13FFC4] 将内存编号为0x13FFC4.0x13FFC5.0x13FF ...

  4. Docker 与 K8S学习笔记(十九)—— Pod的配置管理

    我们在部署应用时常常会考虑将应用程序与配置文件相分离,这样可以使应用程序更好的复用,并且通过不同配置也能实现更灵活的功能.将应用制作成镜像后,我们可以在启动容器时通过环境变量或挂载文件的方式注入,但是 ...

  5. PyTorch 介绍 | TRANSFORMS

    数据并不总是满足机器学习算法所需的格式.我们使用transform对数据进行一些操作,使得其能适用于训练. 所有的TorchVision数据集都有两个参数,用以接受包含transform逻辑的可调用项 ...

  6. SpringBoot 简单介绍

    一.springboot是啥? 1.什么是springboot? 1.1springboot是spring生态圈的一个轻量级框架,换句话说springboot就是spring,是spring的一个衍生 ...

  7. Matplotlib 绘图秘籍·翻译完成

    原文:Matplotlib Plotting Cookbook 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN ...

  8. switch多选择结构

    switch多选择结构 多选择结构还有一个实现方式就是switch case语句. switch case 语句判断一个变量与一个系列值中某个值是否相等,每个值称为一个分支. 语法: switch(e ...

  9. python--003 数据类型

    运算符 in "heilo" in "adfsdfsdfsdfsdfdsfdshellofsdfdsf" "li"  in ["l ...

  10. 报错 Illegal key size or default parameters

    简介: java中使用AES对称加密后,请求报错: Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: ...