Python常用模块logging——日志输出功能(示例代码)

yipeiwu_com5年前Python基础

用途

logging模块是Python的内置模块,主要用于输出运行日志,可以灵活配置输出日志的各项信息。

基本使用方法

logging.basicConfig(level=logging.DEBUG,
          format='levelname:%(levelname)s filename: %(filename)s '
              'outputNumber: [%(lineno)d] thread: %(threadName)s output msg: %(message)s'
              ' - %(asctime)s', datefmt='[%d/%b/%Y %H:%M:%S]',
          filename='./loggmsg.log', filemode="a")

参数

日志一共分成5个等级,从低到高分别是:DEBUG ,INFO ,WARNING ,ERROR, CRITICAL。

%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息

调用

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')

示例

import logging
logging.basicConfig(level=logging.DEBUG,
          format='levelname:%(levelname)s filename: %(filename)s '
              'outputNumber: [%(lineno)d] thread: %(threadName)s output msg: %(message)s'
              ' - %(asctime)s', datefmt='[%d/%b/%Y %H:%M:%S]',
          filename='./loggmsg.log', filemode="a")
logging.debug("Hello")

日志文件loggmsg.log

levelname:DEBUG filename: test.py outputNumber: [7]  thread: MainThread output msg:  Hello -

总结

以上所述是小编给大家介绍的Python常用模块logging——日志输出功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python实现同时给多个变量赋值的方法

本文实例讲述了python实现同时给多个变量赋值的方法。分享给大家供大家参考。具体分析如下: python中可以同时给多个变量赋值,下面列举了三种方法 # Assign values...

python中函数默认值使用注意点详解

当在函数中定义默认值时,值初始化只会进行一次,就是执行到def methodname时执行。看下面代码: from datetime import datetime def te...

python pandas生成时间列表

python生成一个日期列表 首先导入pandas import pandas as pd def get_date_list(begin_date,end_date): date...

python通过post提交数据的方法

本文实例讲述了python通过post提交数据的方法。分享给大家供大家参考。具体实现方法如下: # -*- coding: cp936 -*- import urllib2 impo...

Python中的super()方法使用简介

子类里访问父类的同名属性,而又不想直接引用父类的名字,因为说不定什么时候会去修改它,所以数据还是只保留一份的好。其实呢,还有更好的理由不去直接引用父类的名字, 这时候就该super()登...