logger常用方法
#!/usr/bin/env python
# encoding: utf-8
# Date: 2018/5/25
import logging
from logging import handlers
# 日志过滤
class IgnoreBackupLogFilter(logging.Filter):
'''忽略带db backup的日志'''
def filter(self, record): # 固定写法
return 'db backup' in record.getMessage() # True False
# 1.生成logger对象
logger = logging.getLogger('web')
logger.setLevel(logging.DEBUG)
# 1.1 把filter对象添加到logger中
logger.addFilter(IgnoreBackupLogFilter())
# 2.生成handler对象
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
fh = logging.FileHandler('web.log')
# 日志切割 10字节 按照大小截取
# fh = handlers.RotatingFileHandler('web.log', maxBytes=10, backupCount=3)
# 日志切割 时间 按照时间截取
# fh = handlers.TimedRotatingFileHandler('web1.log', when='s', interval=5, backupCount=3)
fh.setLevel(logging.WARNING)
# 2.1 把handler对象绑定到logger
logger.addHandler(ch)
logger.addHandler(fh)
# 3.生成formatter对象
# 3.1 把formatter对象绑定handler对象
file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(message)s')
ch.setFormatter(console_formatter)
fh.setFormatter(file_formatter)
logger.warning('test warning')
logger.warning('test warning db backup')
logger.debug('test log')
logger.info('test log 2')
logger常用方法的更多相关文章
- java Map常用方法封装
java Map常用方法封装 CreationTime--2018年7月16日15点59分 Author:Marydon 1.准备工作 import java.util.HashMap; impo ...
- javascript常用方法和技巧
浏览器变编辑器 data:text/html, <style type=;right:;bottom:;left:;}</style><div id="e" ...
- logger示例
胜哥版 打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态.Python标准库提供了logging模块,让我们也可以方便的在Python中打印日志. 日志介绍 完整的使用方 ...
- ABP源码分析八:Logger集成
ABP使用Castle日志记录工具,并且可以使用不同的日志类库,比如:Log4Net, NLog, Serilog... 等等.对于所有的日志类库,Castle提供了一个通用的接口来实现,我们可以很方 ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- org.apache.log4j.Logger详解
org.apache.log4j.Logger 详解 1. 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工 ...
- Java程序日志:java.util.logging.Logger类
一.Logger 的级别 比log4j的级别详细,全部定义在java.util.logging.Level里面.各级别按降序排列如下:SEVERE(最高值)WARNINGINFOCONFIGFINEF ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
随机推荐
- 类似select下拉选择框同时又支持手动输入的元素 datalist 介绍。
有时候我们会有这样的需求,通过使用下拉菜单给用户一定的选择范围,同时又可以使用户在找不到选择项的时候手动输入.这个时候我们就需要用到html5的datalist属性了. datalist包含<o ...
- spring读取propertyes 新方法
<context:property-placeholder location="classpath:mysql.properties"/> <util:prope ...
- SpringMVC开发小结
1. 自动封装返回对象为JSON 1).在spring配置文件中添加如下配置: <mvc:annotation-driven> <mvc:message-converters> ...
- HDU 6188:Duizi and Shunzi(贪心)(广西邀请赛)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6188 题意 有n个数字,每个数字小于等于n,两个相同的数字价值为1,三个连续的数字价值为1 .问这n个 ...
- SUST OJ 1675: Fehead的项目(单调栈)
1675: Fehead的项目 时间限制: 1 Sec 内存限制: 128 MB提交: 41 解决: 27[提交][状态][讨论版] 题目描述 Fehead俱乐部接手了一个项目,为了统计数据,他们 ...
- 10款PHP开源网店系统
在当今经济危机的大环境下,网上购物越来越来吃香,网上开店成本低,快捷方便,出名的电子商务网站有淘宝,拍拍,Ebay或是最新的百度有啊,这些网站都提供开店的机会,如果是想自己搭建购物平台,可以从下面选择 ...
- L2-2 重排链表 (25 分)
给定一个单链表 L1→L2→⋯→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→⋯.例如:给定L为1→2→3→4→5→6,则输出 ...
- CTF密码学之摩斯密码
通过不用的排列顺序来表达不用的英文字母,数字和标点符号,摩斯电码由.和_构成 字母 字符 电码符号 字符 电码符号 A ._ N _. B _... O _ _ _ C _._. P ._ _. D ...
- Flask第31课——include标签
我们在上一节代码基础上增加一些代码,样式: 文件名index.html,代码: {% from 'macros/forms.html' import input %} <!DOCTYPE htm ...
- stenciljs 学习二 pwa 简单应用开发
stenciljs 介绍参考官方网站,或者 https://www.cnblogs.com/rongfengliang/p/9706542.html demo 项目使用脚手架工具 创建项目 使用脚手架 ...