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系列之新版本导入httplib模块报ImportError解决方案
May 23 Python
Python使用py2exe打包程序介绍
Nov 20 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
python调用并链接MATLAB脚本详解
Jul 05 Python
对Pytorch神经网络初始化kaiming分布详解
Aug 18 Python
python二元表达式用法
Dec 04 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
Python的scikit-image模块实例讲解
Dec 30 Python
Python 数据可视化之Bokeh详解
Nov 02 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自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
php多进程应用场景实例详解
2019/07/22 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
vue底部加载更多的实例代码
2018/06/29 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
python 决策树算法的实现
2020/10/09 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
贝佳斯官方网站:Borghese
2020/05/08 全球购物
办公室文书岗位职责
2013/12/16 职场文书
同事打架检讨书
2014/02/04 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
班干部演讲稿
2014/04/24 职场文书
拆迁委托协议书
2014/09/15 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
git中cherry-pick命令的使用教程
2022/06/25 Servers