day6 subprocess模块、logging模块
logging模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error() and critical() 5个级别,下面我们看一下怎么用:
---恢复内容结束---
logging模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error() and critical() 5个级别,下面我们看一下怎么用:
| %(name)s | Logger的名字 | 
| %(levelno)s | 数字形式的日志级别 | 
| %(levelname)s | 文本形式的日志级别 | 
| %(pathname)s | 调用日志输出函数的模块的完整路径名,可能没有 | 
| %(filename)s | 调用日志输出函数的模块的文件名 | 
| %(module)s | 调用日志输出函数的模块名 | 
| %(funcName)s | 调用日志输出函数的函数名 | 
| %(lineno)d | 调用日志输出函数的语句所在的代码行 | 
| %(created)f | 当前时间,用UNIX标准的表示时间的浮 点数表示 | 
| %(relativeCreated)d | 输出日志信息时的,自Logger创建以 来的毫秒数 | 
| %(asctime)s | 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 | 
| %(thread)d | 线程ID。可能没有 | 
| %(threadName)s | 线程名。可能没有 | 
| %(process)d | 进程ID。可能没有 | 
| %(message)s | 用户输出的消息 | 
想给日志文件加上日期,如下所示:
import logging
    """basicConfig()是设置日期格式的形式,level是日期的等级,datafmt是日期的格式"""
  logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',level=logging.DEBUG)
  logging.warning('is when this event was logged.')
  logging.basicConfig(format="%(asctime)s %(message)s",datefmt="%m/%d/%Y %I:%M:%S %p",level=logging.DEBUG)
  logging.debug("I love python")
运行结果如下:
05/30/2017 06:40:33 AM is when this event was logged.
  05/30/2017 06:40:33 AM I love python
如果想同时把log打印在屏幕和文件日志里,就需要了解一点复杂的知识了
Python 使用logging模块记录日志涉及四个主要类,使用官方文档中的概括最为合适:
(1)logger提供了应用程序可以直接使用的接口;
(2)handler将(logger创建的)日志记录发送到合适的目的输出;
(3)filter提供了细度设备来决定输出哪条日志记录;
(4)formatter决定日志记录的最终输出格式。
day6 subprocess模块、logging模块的更多相关文章
- os模块/sys模块/json/pickle模块/logging模块(day16整理)
		目录 今日内容 os模块 对文件操作 对文件夹此操作 辅助性的 了解 sys模块 json和pickle模块 json模块 pickle模块 logging模块 日志级别 添加设置 自定义配置 今日内 ... 
- os模块 sys模块 json/pickle 模块 logging模块
		目录 模块 1. os模块 2. sys模块 3. json和pickle模块 4. logging模块 (1)日志配置 (2)实际开发中日志的使用 模块 1. os模块 os模块有什么用 与操作系统 ... 
- python hashlib模块 logging模块 subprocess模块
		一 hashlib模块 import hashlib md5=hashlib.md5() #可以传参,加盐处理 print(md5) md5.update(b'alex') #update参数必须是b ... 
- python day 9: xlm模块,configparser模块,shutil模块,subprocess模块,logging模块,迭代器与生成器,反射
		目录 python day 9 1. xml模块 1.1 初识xml 1.2 遍历xml文档的指定节点 1.3 通过python手工创建xml文档 1.4 创建节点的两种方式 1.5 总结 2. co ... 
- Python基础之模块:6、hashlib模块   subprocess模块   logging模块
		目录 一.hashlib模块 1.简介 2.基本操作与用法 二.subprocess模块 1.简介 2.基本操作与用法 三.logging模块 1.简介 2.基本操作与用法 一.hashlib模块 1 ... 
- Python全栈之路----常用模块----logging模块
		很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ... 
- python模块 ---logging模块
		摘要by crazyhacking: 与log4cxx一样,分为三个部分,logger, handler,formatter. 详细内容参考:1官网http://docs.python.org/2/h ... 
- Python模块——logging模块
		logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ... 
- hashlib模块configparser模块logging模块
		hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长 ... 
- shelve模块,sys模块,logging模块
		1.shelve模块 用于序列化的模块,shelve模块比pickle模块简单,只有open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型. impor ... 
随机推荐
- Window10+Python3.5安装opencv
			Window10+Python3.5安装opencv 标签: opencvpython 2017-05-14 16:47 2201人阅读 评论(0) 收藏 举报 分类: Python编程(41) ... 
- memset函数使用详解
			1.void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c. 2.例子#include void main(){cha ... 
- 优先队列:POJ No 3614 Sunscreen 贪心
			Sunscreen Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6410 Accepted: 2239 Descrip ... 
- stl第二级空间配置器详解(1)
			SGI STL考虑到小型内存区块的碎片问题,设计了双层级配置器,第一级配置直接使用malloc()和free():第二级配置器则视情况采用不同的策略,当配置区大于128bytes时,直接调用第一级配置 ... 
- Redis学习十:Redis的复制(Master/Slave)【重要】
			一.是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 二.能干嘛 读写分离 容灾恢 ... 
- EOJ Monthly 2019.2 (based on February Selection) D.进制转换
			题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ... 
- MUI上拉加载下拉刷新
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- 20155303 2016-2017-2 《Java程序设计》第三周学习总结
			20155303 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 第四章 学会如何查询Java API文件对于Java的学习很有帮助,可以了解到如何使用各种方 ... 
- Java枚举类型的用法
			JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 1.用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fia ... 
- NOIP 2016 迟来的满贯
			17-03-22,雨 17-03-22,一个特别重要的日子 在这一天,本蒻攻克了NOIP 2016最难的一题,D1T2——天天爱跑步 实现了NOIP 2016的AK! YAYAYAYAYAYAY 自然 ... 
