Python常用模块logging——日志输出功能(示例代码)
用途
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允许你定义可选参数.但还有一个方法,可以定义函数任意数量的参数. 首先,看下面是一个只定义可选参数的例子 复制代码 代码如下: def function(arg1="",arg2=""): print "arg1: {0}&qu
-
Python3.7+tkinter实现查询界面功能
Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 这篇文章使用tkinter实现一个简单的查询界面 #!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * import sqlite3 # 导入消息对话框子模块 import tkinter.messagebox #import urllib #创建主窗口 root = Tk() root.title
-
Python中实现常量(Const)功能
python语言本身没有提供const,但实际开发中经常会遇到需要使用const的情形,由于语言本身没有这种支出,因此需要使用一些技巧来实现这一功能 定义const类如下 复制代码 代码如下: import sys class Const(object): class ConstError(TypeException): pass def __setattr__(self, key, value): if self.__dict__.has_key(key):
-
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
日常会有很多固定报表需要手动更新,本文将利用python实现多线程运行oracle代码,并利用xlwings包和numpy包将结果写入到指定excel模版(不改变模版内容),并自动生成带日期命名的新excel.此外还添加了logging模块记录运行日志,以及利用try-except实现遇到错误自动重新运行.下面将介绍整个自动化的实现过程. # -*- coding: utf-8 -*- # Create time: 2019-10-16 # Update time: 2019-11-28 # V
-
python几种常用功能实现代码实例
这篇文章主要介绍了python几种常用功能实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python 程序退出的几种方式 import sys sys.exit() sys.exit(0) sys.exit(1) 或者 os._exit() 该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出 2. python实现获取电脑IP.主机名.Mac地址 import socket import uui
-
详解Python异常处理中的Finally else的功能
Python使用Try Exception来处理异常机制 若Exception中有Try对应的异常处理,则Try - exception之后的代码将被执行,但若Try - exception中没有对应的代码,则程序抛出Traceback停止运行 那么else finally就是针对这两种情况带来的后果分别相应的关键字 else 如果一个Try - exception中,没有发生异常,即exception没有执行,那么将会执行else语句的内容 反之,如果触发了Try - exception(异常
-
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
实例1.取得MYSQL版本 复制代码 代码如下: # -*- coding: UTF-8 -*-#安装MYSQL DB for pythonimport MySQLdb as mdbcon = Nonetry: #连接mysql的方法:connect('ip','user','password','dbname') con = mdb.connect('localhost', 'root', 'root', 'test'); #所有的查询,都在连接con的一个模块
-
Python实现变声器功能(萝莉音御姐音)
登录百度AL开发平台 在控制台选择语音合成 创建应用 填写应用信息 在应用列表获取(Appid.API Key.Secret Key) 6. 安装pythonsdk 安装使用Python SDK有如下方式: 安装使用Python SDK有如下方式: 如果已安装pip,执行pip install baidu-aip即可. 如果已安装setuptools,执行python setup.py instal即可. 7. 书写代码 from aip import AipSpeech ""&q
-
Python subprocess模块功能与常见用法实例详解
本文实例讲述了Python subprocess模块功能与常见用法.分享给大家供大家参考,具体如下: 一.简介 subprocess最早在2.4版本引入.用来生成子进程,并可以通过管道连接他们的输入/输出/错误,以及获得他们的返回值. subprocess用来替换多个旧模块和函数: os.system os.spawn* os.popen* popen2.* commands.* 运行python的时候,我们都是在创建并运行一个进程,linux中一个进程可以fork一个子进程,并让这个子进程ex
-
Python常用模块logging——日志输出功能(示例代码)
用途 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'
-
Python PyQt5模块实现一个浏览器的示例代码
目录 1. 首先是环境的安装 (本人使用的是PyCharm,python3.6) 2. 实现代码 3. 运行结果 4. Tips 1. 首先是环境的安装 (本人使用的是PyCharm,python3.6) pip3 install PyQt5 (没有指定版本的话,默认会安装最新的) pip3 install sip pip3 install PyQtWebEngine (PyQtWebEngine是Qt WebEngine的一组框架,该框架提供了在应用程序中嵌入 Web 内容的能力,并且基于 C
-
Python实现字符串逆序输出功能示例
本文实例讲述了Python实现字符串逆序输出功能.分享给大家供大家参考,具体如下: 1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转 #coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in
-
利用python实现简单的循环购物车功能示例代码
本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 示例代码 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s", 5000), ("book python", 81), ("iwach", 3200), ("电视机", 2200) ] def zero(name):
-
Python常用模块sys,os,time,random功能与用法实例分析
本文实例讲述了Python常用模块sys,os,time,random功能与用法.分享给大家供大家参考,具体如下: sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 mysys.py 参数1 参数2] #那么参数1为sys.argv[1],以此类推 print(sys.version)#python版本号 print(sys.path)#返回模块的
-
Python log模块logging记录打印用法解析
这篇文章主要介绍了Python log模块logging记录打印用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 日志基础教程 日志是对软件执行时所发生事件的一种追踪方式.软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生.一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的).开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性 什么时候使用日志 对于简单的日志使用来说日志功能提供了一系列
-
Python使用pickle模块存储数据报错解决示例代码
本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下. 首先来了解下pickle模块 pickle提供了一个简单的持久化功能.可以将对象以文件的形式存放在磁盘上. pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化, pickle序列化后的数据,可读性差,人一般无法识别. 接下来我们看下Python使用pickle模块存储数据报错解决方法. 代码: # 写入错误 TypeEr
-
python 如何对logging日志封装
作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ 因为最近在做平台,发现有同事,使用django封装了日志模块,看样子很简单,准备自己单独做了一个日志封装模板,对于python不熟练的我,封装部分参考了多个博主的内容,形成自己的日志模块,内容如下: 封装部分 创建一个logutil2的py文件 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: zhangjun # @Date :
-
Python常用模块之threading和Thread模块
目录 1. 线程通信 1.1 互斥锁 1.2 线程间全局变量的共享 1.3 共享内存间存在竞争问题 1.4 使用锁来控制共享资源的访问 分析此阶段,我们会发现进程和线程的痛点!!! 2. 队列的基本概念 总结 1. 线程通信 1.1 互斥锁 在多线程中 , 所有变量对于所有线程都是共享的 , 因此 , 线程之间共享数据最大的危险在于多个线程同时修改一个变量 , 那就乱套了 , 所以我们需要互斥锁 , 来锁住数据. 1.2 线程间全局变量的共享 注意: 因为线程属于同一个进程,因此它们之间共享内存
-
Python 常用模块threading和Thread模块之线程池
目录 1. 池的概念 2. 自定义线程池 3. 使用Python内置线程池 4. 池的其他操作 1. 池的概念 主线程: 相当于生产者,只管向线程池提交任务. 并不关心线程池是如何执行任务的. 线程池: 相当于消费者,负责接收任务,并将任务分配到一个空闲的线程中去执行.并不关心是哪一个线程执行的这个任务. 2. 自定义线程池 # -*- coding: utf-8 -*- from threading import Thread from queue import Queue import ti
随机推荐
- PHP+Mysql+jQuery实现动态展示信息
- Javascript Function对象扩展之延时执行函数
- vue-router 导航钩子的具体使用方法
- JS替换文本域内的回车示例
- C#通过指针读取文件的方法
- 微信公众帐号开发教程之图文消息全攻略
- 常见的在Python中实现单例模式的三种方法
- c病毒程序原理分析(防范病毒 c语言小病毒示例)
- 有关SQL模糊查询
- 让Firefox支持event对象实现代码
- jQuery1.5.1 animate方法源码阅读
- Velocity基本语法介绍
- java Date类详解及使用总结
- thinkphp文件处理类Dir.class.php的用法分析
- 用PHP产生动态的影像图
- 使用windows控制台调试服务的方法
- AJAX 动态加载后台数据 绑定select的方法
- Linux中git用https连接时不用每次输入密码的方法
- 解决Ubuntu pip 安装 mysql-python包出错的问题
- react-native滑动吸顶效果的实现过程