【Python日志输出】控制台输出INFO和WARNING级别,文件只记录WARNING级别
参考博客 - Python日志分级别输出到不同文件
# -*- coding: utf-8 -*-
import logging
import logging.handlers
import osdef setup_logger(logger_name):# root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))root_path = os.path.abspath(os.path.join(os.getcwd(), "../..")) # 与项目根目录平级log_path = root_path + '/logs/' + logger_name + '.log'myapp = logging.getLogger(logger_name)myapp.setLevel(logging.INFO) # 先将INFO及以上的日志都添加到logger,再按照是否WARNING过滤是否输出到文件formatter = logging.Formatter("%(asctime)s - %(filename)s - %(funcName)s[line:%(lineno)d] - %(levelname)s: %(message)s")rotatingHandler = logging.handlers.RotatingFileHandler(log_path, maxBytes=20 * 1024 * 1024, backupCount=10)rotatingHandler.setFormatter(formatter)myapp.addHandler(rotatingHandler)streamHandler = logging.StreamHandler()streamHandler.setFormatter(formatter)myapp.addHandler(streamHandler)# 过滤级别:控制台输出INFO和WARNING级别,文件只记录WARNING级别info_filter = logging.Filter()info_filter.filter = lambda record: record.levelno < logging.WARNING # 设置过滤等级err_filter = logging.Filter()err_filter.filter = lambda record: record.levelno >= logging.WARNING# streamHandler.addFilter(info_filter)rotatingHandler.addFilter(err_filter)# 示例
def main():# setup_logger('log1', r'log1.log')# setup_logger('log2', r'log2.log')# log1 = logging.getLogger('log1')setup_logger('myapp')myapp = logging.getLogger('myapp')myapp.info("file test")myapp.warning("file warning")if __name__ == '__main__':main()# print(os.path.abspath(os.path.join(os.getcwd(), "../..")))
效果
控制台输出INFO和WARNING级别,文件只记录WARNING级别
【Python日志输出】控制台输出INFO和WARNING级别,文件只记录WARNING级别相关推荐
- C# 读取DXF全套实例 图形输出 控制台输出 dxf全部信息
文件下载地址:C#读取DXF全套实例图形输出控制台输出dxf全部信息-网络基础文档类资源-CSDN下载 以下为其中一种输出方式 包含:netDxf源 输出结果: FILE NAME: sample.d ...
- python读取excel某一行内容-python3读取excel文件只提取某些行某些列的值方法
今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...
- python获取控制台输出_Python | 用Python获取Windows控制台输出
1 os模块实现 import os cmd = 'ping baidu.com' r = os.popen(cmd) for line in r.readlines(): print (line) ...
- 弃繁就简!一行代码搞定 Python 日志!
写了这么多年的 Python ,我一直都是使用 Python 自带的 logging 模块来记录日志,每次需要写一些配置将日志输出到不同的位置,设置不同日志输出格式,或者将日志进行分文件和压缩等.这个 ...
- 弃繁就简,一行代码教你摆平Python 日志
写了这么多年的 Python ,我一直都是使用 Python 自带的 logging 模块来记录日志,每次需要写一些配置将日志输出到不同的位置,设置不同日志输出格式,或者将日志进行分文件和压缩等.这个 ...
- Python控制台输出颜色,让你的Python程序更加生动活泼
Python控制台输出颜色,让你的Python程序更加生动活泼 在编写Python程序时,我们通常需要使用到控制台输出.而控制台输出的内容通常是黑白的,缺乏生动和互动性.那么如何让Python程序在控 ...
- python运维脚本部署jdk_Jenkins自动执行Python脚本,并输出测试报告
这段时间,在家时间自由(除了睡觉8小时,其他时间都在工作和学习),有大把的时间实操练习一些硬技能: 今天,更新一篇利用Jenkins这套框架,调用Python自动化脚本,并输出测试报告的手把手实操文章 ...
- python ssl模块用法详解_一看就懂,Python 日志模块详解及应用!
日志概述 百度百科的日志概述: Windows网络操作系统都设计有各种各样的日志文件,如应用程序日志,安全日志.系统日志.Scheduler服务日志.FTP日志.WWW日志.DNS服务器日志等等,这些 ...
- python日志处理_Python之日志处理(logging模块)
转发:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 loggi ...
最新文章
- java a标签正则_正则表达式:java中婚配HTML中a标签中的中文字符
- codevs1217 借教室 题解
- main函数的参数问题 (转载)
- HBase 2.X版本的元数据修复及一种数据迁移方式
- css选择器的综合使用
- Web Bundles 学习笔记
- Marketing Cloud contact主数据的csv导入
- MixedRealityToolkit-Unity:MR应用必用神器
- 查询mysql所有表的大小
- 架构运维篇(五):Centos7/Linux中安装RocketMQ
- PyCharm专业版破解
- H264中一些很有用的解释
- 分享基于HTTP长连接的Web端即时通讯技术
- 监控系统 Prometheus 的说明
- 概率论考点之相关系数
- 2018.8.9日,预习笔记,Linux软件包安装和卸载
- English - every和each的用法和区别
- D. Martial Arts Tournament
- Python基础语法(一)——变量定义和运算符的使用
- 海藻酸盐水凝胶包覆生长因子丝素蛋白微球
热门文章
- Gym - 101972A Multiplication Dilemma(模拟)
- (转)离散化:两种离散化方式详解
- a律13折线pcm编码例题_a律13折线pcm编码例题
- java中日期计算2月份_计算两日期间2月29日总数的Java程序
- qpython怎么添加pip_Q: 在Windows上安装Python 2.7的pyHook和pip
- python 提取前五行_Pandas 1:如何在Python中载入数据集
- hdu3007(最小覆盖圆问题)
- MAP文件和调试(VC)(从崩溃地址找出错源码位置)
- EV3 直接命令 - 第 5 课 从 EV3 的传感器读取数据
- C++ 类和对象(二):构造函数、析构函数、拷贝构造函数、运算符重载