Python-logging模块简单使用
logging模块只要用于日志的打印。模块的源码在:Lib/logging/__init__.py
其中,logging.basicConfig(**kwargs)方法用于进行基本的属性配置,它的参数是可变的,主要有以下参数可以进行配置:
filename:指定创建的文件名;
filemode:指定文件的访问模式,如果未指定,默认为"a";
format:指定打印的格式;
datefmt:指定日期/时间打印格式;
level:指定打印等级;
stream:暂不清楚如何使用。
其中,filemode就是对文件操作的模式,主要有:
文件模式 |
操作 |
r |
以读方式打开 |
rU或U |
以读方式打开,同时提供通用换行符支持 |
w |
以写方式打开(必要时情况) |
a |
以追加模式打开(从EOF开始,必要时创建新文件) |
r+ |
以读写模式打开 |
w+ |
以读写模式打开(参见w) |
a+ |
以读写方式打开(参见a) |
rb |
以二进制读模式打开 |
wb |
以二进制写模式打开(参见w) |
ab |
以二进制追加模式打开(参加a) |
rb+ |
以二进制读写模式打开(参见r+) |
wb+ |
以二进制读写模式打开(参见w+) |
ab+ |
以二进制读写模式打开(参见a+) |
format参数指定打印的格式:
datefmt参数设置日期和时间的打印格式:
level表示打印等级,打印等级是具有优先级的,并且向高优先级兼容,优先级顺序为:DEBUG<INFO<WARNING<ERROR<CRITICAL。例如打印等级设置为DEBUG,则高于DEBUG的等级的打印函数也会执行。
测试代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*- import logging # 设置logging.basicConfig()方法的参数
FORMAT = '%(asctime)s [%(funcName)s: %(lineno)d]: %(message)s'
LEVEL = logging.INFO
FILENAME = "logfile.log"
FILEMODE = "w+"
DATEFMT = '%m/%d/%Y %I:%M:%S %p' # 配置logging.basicConfig函数
logging.basicConfig(filename=FILENAME, filemode=FILEMODE, datefmt=DATEFMT ,level = LEVEL, format=FORMAT) def display_func():
# 使用不同的打印等级函数进行打印
logging.debug('test debug')
logging.info('test info')
logging.warning('test warning')
logging.error('test error') if __name__ == '__main__':
display_func()
测试结果:打印信息输出在logfile.log文件中,文件的内容如下:
参考链接:
https://docs.python.org/2/library/logging.html
Python-logging模块简单使用的更多相关文章
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- python logging模块使用
近来再弄一个小项目,已经到收尾阶段了.希望加入写log机制来增加程序出错后的判断分析.尝试使用了python logging模块. #-*- coding:utf-8 -*- import loggi ...
- 读懂掌握 Python logging 模块源码 (附带一些 example)
搜了一下自己的 Blog 一直缺乏一篇 Python logging 模块的深度使用的文章.其实这个模块非常常用,也有非常多的滥用.所以看看源码来详细记录一篇属于 logging 模块的文章. 整个 ...
- Python logging 模块学习
logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...
- python logging—模块
python logging模块 python logging提供了标准的日志接口,python logging日志分为5个等级: debug(), info(), warning(), error( ...
- 0x01 Python logging模块
目录 Python logging 模块 前言 logging模块提供的特性 logging模块的设计过程 logger的继承 logger在逻辑上的继承结构 logging.basicConfig( ...
- (转)python logging模块
python logging模块 原文:http://www.cnblogs.com/dahu-daqing/p/7040764.html 1 logging模块简介 logging模块是Python ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- Python logging模块无法正常输出日志
废话少说,先上代码 File:logger.conf [formatters] keys=default [formatter_default] format=%(asctime)s - %(name ...
- 0x03 Python logging模块之Formatter格式
目录 logging模块之Formatter格式 Formater对象 日志输出格式化字符串 LogRecoder对象 时间格式化字符串 logging模块之Formatter格式 在记录日志是,日志 ...
随机推荐
- Vijos1917 艾酱最喜欢的数字 [求绝对众数]
1.题意:第一行一个数字N,表示一共有多少个数字,第二行N个数字,保证其中至少有一个数字出现次数超过一半,任务是求出这个出现最多的数. 2.分析:本题是明显的求众数的问题,常规思路为开一个大数组,在读 ...
- Ubuntu安装微信,解决deepin“版本过低”或NO_PUBKEY问题
在搜索引擎搜索Ubuntu安装微信,最多的结果是通过deepin安装 但是里面使用的deepin-for-ubuntu 安装之后微信扫码会提示版本过低 直接安装deepin.com.wechat_2. ...
- python 处理xml文件
需求 在实际应用中,需要对xml配置文件进行实时修改, 1.增加.删除 某些节点 2.增加,删除,修改某个节点下的某些属性 3.增加,删除,修改某些节点的文本 <annotation> & ...
- LeetCode 1 Two Sum——在数组上遍历出花样
本文始发于个人公众号:TechFlow 今天是周末,和大家一起来看一道算法题.这道题是大名鼎鼎的LeetCode的第一题,也是面试当中非常常见的一道面试题.题目不难,但是对于初学者来说应该还是很有 ...
- 使用windows api函数捕获SAP session的左下角消息句柄
背景:SAP session的左下角消息非常有用,我们在做SAP的自动化脚本时可以设法读到这个消息的内容,作为程序后续动作的判断条件.如下图: 比如小爬之前给财务的同事制作了一个批量导出 ...
- eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法
解决方案: 1.右键点击项目--选择Properties,选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries 2.点击N ...
- poj1737-----这题有毒
这题有毒,不取模还会溢出,我哭了 <进阶指南>p337动态规划 公式就是个这了,代码就不贴了,反正是错的,用java算了
- 根据设备id自动打开本设备的串口
对于串口设备经常遇到重新拔插串口设备时候,程序又需要重新选择串口打开.对此很少麻烦的要死. 现在我们可以根据该设备的id去遍历串口设备,一旦符合就打开此串口即可. public void init() ...
- DRF框架中分页功能接口
目录 DRF框架中分页功能接口 DRF框架中分页功能接口 一.在框架中提供来三个类来实现分页功能,PageNumberPagination.LimitOffsetPagination.CursorPa ...
- ApacheHudi常见问题汇总
欢迎关注公众号:ApacheHudi 1. ApacheHudi对个人和组织何时有用 如果你希望将数据快速提取到HDFS或云存储中,Hudi可以提供帮助.另外,如果你的ETL /hive/spark作 ...