基于Python log 的正确打开方式


Posted in Python onApril 28, 2018

保存代码到文件:logger.py

import os
import logbook
from logbook.more import ColorizedStderrHandler
import smtplib
LOG_DIR = os.path.join('log')
if not os.path.exists(LOG_DIR):
  os.makedirs(LOG_DIR)
def get_logger(name='test', file_log=False):
  logbook.set_datetime_format('local')
  ColorizedStderrHandler(bubble=False).push_application()
  if file_log:
    logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % name), date_format='%Y%m%d', bubble=True).push_application()
  return logbook.Logger(name)
LOG = get_logger(file_log=True)
def send_email(email_conf, message):
  smtp = smtplib.SMTP()
  smtp.connect(email_conf['host'], email_conf['port'])
  smtp.login(email_conf['user'], email_conf['password'])
  smtp.sendmail(email_conf['fromaddr'], email_conf['recipients'], message.as_string())

使用方法:

from logger import LOG 
 
if __name__ == "__main__": 
  LOG.info('Checking %s:%s ...' % (str(date), str(data_type)))

以上这篇基于Python log 的正确打开方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
Python 基础教程之包和类的用法
Feb 23 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
python3调用windows dos命令的例子
Aug 14 Python
Python super()方法原理详解
Mar 31 Python
Python 使用生成器代替线程的方法
Aug 04 Python
python获取linux系统信息的三种方法
Oct 14 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
Python各协议下socket黏包问题原理
Apr 12 Python
python+pandas分析nginx日志的实例
Apr 28 #Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 #Python
python实现关键词提取的示例讲解
Apr 28 #Python
python实现扫描日志关键字的示例
Apr 28 #Python
python socket网络编程之粘包问题详解
Apr 28 #Python
在Windows中设置Python环境变量的实例讲解
Apr 28 #Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 #Python
You might like
操作Oracle的php类
2006/10/09 PHP
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
PHP强制转化的形式整理
2020/05/22 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
webpack优化的深入理解
2018/12/10 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
django2 快速安装指南分享
2018/01/05 Python
Python中的pack和unpack的使用
2018/03/12 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
Python3中详解fabfile的编写
2018/06/24 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
python环境下安装opencv库的方法
2020/03/05 Python
python如何写出表白程序
2020/06/01 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
创建索引时需要注意的事项
2013/05/13 面试题
计算机软件专业求职信
2014/06/10 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
php+laravel 扫码二维码签到功能
2021/05/15 PHP
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript