logging日志——Basic Logging Tutorial
在logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:
filename,filemode,datefmt,format,level,stream(未介绍)
import logging
logging.basicConfig(filename='日志.log', filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p',
format='%(levelname)s:%(message)s--%(asctime)s',
level=logging.INFO)
logging模块 logging教程
logging用于记录(track)软件运行过程中发生的事件,事件具有开发者可赋予它的重要程度(等级importance/level/severity)
logging函数(也即等级)包含:debug、 info、warning、error、critical (level升序,对应的level即大写)。默认等级为WARNING,即只有日志级别高于等于WARNING的events才会被tracked。想要控制logging的等级,则需通过 logging.basicConfig(level=logging.DEBUG) 配置。能对被tracked的events进行一些操作处理,如打印到控制台或写到磁盘(日志)。
import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
输出:默认情况下只有日志级别高于等于WARNING的events才会打印出来
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message
logging to file
将logging events记录输出到文件,在basicConfig中指定文件路径filename即可:(重复,则logging会追加到log文件)
logging.basicConfig(filename='日志.log',level=logging.DEBUG)
若想要不把新的logging追加记录到原来的log文件,可通过filemode指定文件方式,filemode = 'w',则是更新log文件:(之前的log会丢失)
logging.basicConfig(filename='日志.log',filemode='w',level=logging.DEBUG)
多模块logging
在多模块时管理log,可以用以下方式简单的实现:
import logging
import mymodule #自己写的模块 logging.basicConfig(filename='日志.log',level=logging.INFO)
logging.info('start')
mymodule.xxxx # 模块中需要记录log的代码
logging.info('end')
Logging 变量数据
使用格式化字符串(%占位),并将需要的变量作为logging函数的参数来实现将变量数据输出到 log。 其他做法: str.format() and string.Template
import logging
logging.basicConfig(filename='日志.log', filemode='w', level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')
输出: INFO:root:start WARNING:root:Look before you leap! INFO:root:end
Logging格式
通过format指定格式即可: (message:即events的描述,包括变量)
import logging
logging.basicConfig(filename='日志.log', filemode='w',format='%(levelname)s:%(message)s',
level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')
输出: INFO:start WARNING:Look before you leap! INFO:end (root不见啦)
在message中显示时间(日期)
在格式化字符串中加入‘%(asctime)s’ 即可,可用datefmt 规定时间的格式
import logging
logging.basicConfig(filename='日志.log', filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p',
format='%(levelname)s:%(message)s--%(asctime)s',
level=logging.INFO)
logging.info('start')
logging.warning('%s before you %s', 'Look', 'leap!')
logging.info('end')
输出:INFO:start--11/06/2017 09:20:23 PM WARNING:Look before you leap!--11/06/2017 09:20:23 PM INFO:end--11/06/2017 09:20:23 PM
参考:
https://docs.python.org/3/howto/logging.html#logging-basic-tutorial
http://blog.csdn.net/zyz511919766/article/details/25136485/
logging日志——Basic Logging Tutorial的更多相关文章
- form,ajax注册,logging日志使用
一.form表单类型提交注册信息 二.ajax版本提交注册信息 <!DOCTYPE html> <html lang="en"> <head> ...
- day19——包、logging日志
day19 包 文件夹下具有______init______.py文件就是一个包 方法 import 包.包.包 from 包.包.包 import 模块 需要在______init______.py ...
- Python模块04/包/logging日志
Python模块04/包/logging日志 目录 Python模块04/包/logging日志 内容大纲 1.包 2.logging日志 3.今日总结 内容大纲 1.包 2.logging日志 1. ...
- Python日志模块logging用法
1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 ...
- 管理 python logging 日志使用
1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WA ...
- python logging 日志使用
https://docs.python.org/3/library/logging.html1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRI ...
- Oracle补全日志(Supplemental logging)
Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键(uni ...
- logging 日志模块学习
logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...
- python日志模块---logging
1.将日志打印到屏幕 import logging logging.debug('This is debug message---by liu-ke') logging.info('This is i ...
随机推荐
- TeamView工具在提示“似乎用于商用环境”的处理方式
第一种:通过修改这个文件/也有可能删除(没有尝试过)
- mybatis第一次搭建出错
### Error building SqlSession. ### The error may exist in com/test/pojo/UserMapper.xml ### Cause: or ...
- mongoose一看就会的基本操作
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http: ...
- HTML5外包注意事项-开发HTML5游戏的九大坑与解决方法剖析
随着移动社区兴起,势必带动HTML5的革命.未来一两年内,HTML5移动游戏必将呈现大爆发趋势. 以下是整理的HTML5游戏研发.市场趋势以及渠道布局和技术解决方案的内容.希望大家能从本文中找到对HT ...
- 导航栏中各按钮在点击当前按钮变色其他按钮恢复为原有色的实现方法(vue、jq、原生js)
一.vue如何实现? 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- Python学习笔记_1
一.基础知识 1. 基础: 数据结构:常量.变量.元组(列表).字典 数据类型:int float str 算法:分支和循环 面向对象:类.属性.方法 封装.继承.多态 2. python语言的特点: ...
- redis缓存中间件基础
前序: 默认使用SimpleCacheConfiguration 组件ConcurrentMapCacheManager==ConcurrentMapCache将数据保存在ConcurrentMap& ...
- SKU : Stock Keeping Unit
Stock Keeping Unit is a number assigned to a product by a retail store to identify the price, produ ...
- MYSQL mybatis
mysql 1 每个语句的结束记得加分号; 2where条件里再做if分支 SELECT *FROM `table` WHERE IF( `parentID` is null, `plan_id` ...
- AutoField的话就报错:'AutoField' object has no attribute 'rel'
def data_inspect(self, data, extra=None): if isinstance(data, (QuerySet, Page, list)): convert_data ...