python 通过logging写入日志到文件和控制台的实例


Posted in Python onApril 28, 2018

如下所示:

import logging 
 
# 创建一个logger 
logger = logging.getLogger('mylogger') 
logger.setLevel(logging.DEBUG) 
 
# 创建一个handler,用于写入日志文件 
fh = logging.FileHandler('test.log') 
fh.setLevel(logging.DEBUG) 
 
# 再创建一个handler,用于输出到控制台 
ch = logging.StreamHandler() 
ch.setLevel(logging.DEBUG) 
 
# 定义handler的输出格式 
formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s')
fh.setFormatter(formatter) 
ch.setFormatter(formatter) 
 
# 给logger添加handler 
logger.addHandler(fh) 
logger.addHandler(ch) 
 
# 记录一条日志 
logger.info('foorbar')

关于formatter的配置,采用的是%(<dict key>)s的形式,就是字典的关键字替换。提供的关键字包括:

Format Description
%(name)s Name of the logger (logging channel).
%(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL).
%(levelname)s Text logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').
%(pathname)s Full pathname of the source file where the logging call was issued (if available).
%(filename)s Filename portion of pathname.
%(module)s Module (name portion of filename).
%(funcName)s Name of function containing the logging call.
%(lineno)d Source line number where the logging call was issued (if available).
%(created)f Time when the LogRecord was created (as returned by time.time()).
%(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
%(asctime)s Human-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time).
%(msecs)d Millisecond portion of the time when the LogRecord was created.
%(thread)d Thread ID (if available).
%(threadName)s Thread name (if available).
%(process)d Process ID (if available).
%(message)s The logged message, computed as msg % args.

以上这篇python 通过logging写入日志到文件和控制台的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的多态性实例分析
Jul 07 Python
Python实现身份证号码解析
Sep 01 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
python机器学习库xgboost的使用
Jan 20 Python
flask框架自定义url转换器操作详解
Jan 25 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
如何在django中运行scrapy框架
Apr 22 Python
Python字典的基础操作
Nov 01 Python
Python实现视频中添加音频工具详解
Dec 06 Python
基于Python实现流星雨效果的绘制
Mar 18 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
Apr 28 #Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 #Python
详谈python在windows中的文件路径问题
Apr 28 #Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 #Python
对python中的logger模块全面讲解
Apr 28 #Python
详解PyTorch批训练及优化器比较
Apr 28 #Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 #Python
You might like
php 中英文语言转换类代码
2011/08/11 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
17个Python小技巧分享
2015/01/23 Python
Python切片操作深入详解
2018/07/27 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
公司会计岗位职责
2014/02/13 职场文书
我的小天地教学反思
2014/04/30 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android