首页 > 编程语言 >Python打印日志——logging库

Python打印日志——logging库

时间:2023-01-09 13:22:35浏览次数:42  
标签:logging Python 打印 handler 日志 级别 logger

Python打印日志——logging库

1、主要实现步骤

(1)导入logging包、traceback包(可用于打印详细异常信息)

(2)设置日志记录器的级别:DEBUG或者其他的级别

(3)创建一个流式的日志处理对象

(4)创建一个能将日志内容打印到文件的日志处理对象

(5)设置(4)中对象的日志级别:DEBUG或其他级别

(6)设置日志格式器,将日志格式设置成期望的格式

(7)将日志格式器设置到流式对象中、日志内容打印对象中

(8)记录器设置一个处理器

(9)配置完成,可以调用日志使用打印,写入日志

import logging#导入日志库
import traceback#用于获取异常详细信息
# 声明一个文件路径字符串
logging_filename=r'C:\Users\86130\Desktop\info\Python\test.log'
# 方式二
if __name__=='__main__':
    # 创建一个日志记录器
    logger=logging.getLogger('applog')#applog:是日志记录器名称,可以随意取

    # 设置日志记录器的等级DEBUG
    logger.setLevel(logging.DEBUG)

    # 创建一个将流式的日志处理器
    steram_handler = logging.StreamHandler()

    # 创建一个将日志内容打印到文件的日志处理器
    file_handler = logging.FileHandler(filename=logging_filename, mode='a', encoding='utf-8')

    # file_handler 设置日志等级为 ERROR ,没有给handler 设置日志级别,该handler 将使用logger设置或者默认的级别
    file_handler.setLevel(logging.DEBUG)

    # 创建一个日志格式器//'%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
    formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

    # 设置处理器输出的日志格式
    file_handler.setFormatter(formatter)
    steram_handler.setFormatter(formatter)

    # 记录器设置一个处理器
    logger.addHandler(steram_handler)
    logger.addHandler(file_handler)

    # 写入日志
    logger.debug('打印日志,debug级别')
    logger.info('打印日志,info级别')
    logger.warning('打印日志,warning级别')
    logger.error('打印日志,error级别')
    logger.critical('打印日志,critical级别')
    try:
        s=10/0
    except Exception as e:
        logger.error(e)#捕获异常信息,打印到文件中
        logger.error(traceback.format_exc())#获取详细信息,打印到文件中和控制台

标签:logging,Python,打印,handler,日志,级别,logger
From: https://www.cnblogs.com/yiblue/p/17036747.html

相关文章

  • Python实现画板、电子时钟、计算器、桌面放大镜
     1、Python实现画板功能importtkinterimportwx.stcimporttkinter.simpledialogimporttkinter.colorchooserimporttkinter.filedialogfromPILimportImage......
  • docker安装并运行python文件
    1、使用docker安装python环境,并运行python程序文件 首先,创建目录:/home/python/python-docker-app并进入python-docker-app目录下,创建dockerfile文件命令:vimdock......
  • Python+Selenium
    python+Selenium学习Selenium组件SeleniumIDE:是一个测试集成开发环境,可以结合FF录制脚本,并对脚本编辑和调试特点:1.很容易在页面上就行录制​2.能自动通......
  • Python-列表
    列表中的每一个元素都是可变的。这意味着我们可以在列表中添加、删除、修改元素。 列表中的元素是有序的。Weekday=['Monday','Tuesday','Wednesday','Thursday','F......
  • Python_sqlite3与sqlite数据库交互
    基础功能importsqlite3#sqlite一个文件就是一个库#连接test.db数据库,没有就创建conn=sqlite3.connect('test.db')#创建一个cursorcur=conn.cursor()#......
  • Nginx配置中的log_format用法梳理(设置详细的日志格式)
    nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式;另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,可以参加ngx_http_log_module。一......
  • Python-字符串
    用单引号,双引号,三引号创建字符串。不同数据类型是不能够合并的,必须转换为同一类型num=1string='1'num2=int(string)print(num+num2)   加号(+)用于字......
  • Python语言——实现登陆界面的跳转
    Python语言——实现登陆界面的跳转importtkinter'''实现登陆界面的跳转'''defenter():root=tkinter.Tk()root.title('信息界面')root['width']=......
  • python爬虫如何爬取招聘数据
    互联互通的时代,几乎任何行业有关的数据都可以在网络上查到,那么作为大数据公司,如何借用爬虫实现公开数据抓取数据就显得尤为重要,下面就是有关招聘信息等数据的抓取代码案例可......
  • Python爬虫
    参考网址https://blog.csdn.net/qq_35709559/article/details/84859927爬虫示例:将百度的图片下载到本地'''1.找到图片的url2.发送请求获取响应3.保存图片(流媒体......