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格式 在记录日志是,日志 ...
随机推荐
- Vue2.0 Vue.set的使用
原文链接: https://blog.csdn.net/qq_30455841/article/details/78666571
- Yet Another Array Queries Problem CodeForces - 863D (暴力/思维)
You are given an array a of size n, and q queries to it. There are queries of two types: 1 li ri — p ...
- JavaScript实现版本号比较
/* * JavaScript实现版本号比较 * 传入两个字符串,当前版本号:curV:比较版本号:reqV * 调用方法举例:Version('5.12.3','5.12.2'),将返回true * ...
- 【Jenkins】pipeline-hello-world项目
1.New Item 2.Pipeline Definition 3.Build Error 4.Solution 5.Console Output
- 北京联通盒子-数码视讯Q7-破解
准备: 1.数码视讯Q7盒子 2.电焊笔 细电线4跟不同色(可以直接用废旧USB的线) 3.TTL 转 USB线 ,型号: CH340g(自行淘宝购买) 4.安装TTL线的驱动到电脑上(找淘宝商家要 ...
- 前端——CSS选择器
目录 前端CSS CSS三种引入方式 CSS标签选择器 基本选择器 1.元素选择器 2.类选择器 3.id选择器 4.通用选择器 组合选择器 1.后代选择器 空格 2.儿子选择器 > 3.毗邻选 ...
- VRChat模型制作及上传总篇(201912)
1.视频资源及软件插件模型资源: Kodoku-shi :https://www.bilibili.com/video/av20097333(自己目前找到讲的最详细的教程,但是blender减免部分貌 ...
- python 连接 SQL Server 数据库
#!/usr/bin/python # -*- coding:utf-8 -*- import pymssql import pyodbc host = '127.0.0.1:1433' user = ...
- 使用Rancher Server部署本地多节点K8S集群
当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...
- 开源API网关,你选对了么?
开源API网关,你选对了么? api网关的本质 不用扯那么多,也不用画图,一句话说清楚 api网关:流量总入口,得以集中控制! 就这么简单 api网关协议上最基本要支持HTTP 和 WebSocket ...