首页 > 其他分享 >日志的进阶

日志的进阶

时间:2024-12-08 13:20:44浏览次数:4  
标签:logging 进阶 stream handler 处理器 日志 logger

'''
日志的进阶使用:
    logging库的四大组件,实现日志的记录与输出:
    1.logger记录器:提供基本的能够被程序直接调用的接口(方法)
    2.handler处理器:提供将记录器的内容展示到具体目的地的用途,控制台或文件
    3.filter过滤器:提供更加细化颗粒度的内容控制
    4.formatter格式化器:提供日志的所有输出内容的格式

等级设置:一定是处理器要高于等于记录器的等级,才可以正常显示所有内容
'''
import logging

# 创建logger记录器,实现对日志的记录行为
logger = logging.getLogger('mpf')
#formatter定义日志的格式
logger_formatter = logging.Formatter('%(levelname)s %(asctime)s %(filename)s %(lineno)s : %(message)s')

#logger的日志等级
logger.setLevel(logging.DEBUG)

#创建处理器:控制台处理器
stream_handler = logging.StreamHandler()
#设置stream handler的日志等级
stream_handler.setLevel(logging.INFO)
#设置stream handler的格式
stream_handler.setFormatter(logger_formatter)

#创建处理器:文件处理器,将日志记录在文件之中
file_handler = logging.FileHandler(filename='./file_handler.log',encoding='utf-8')
#设置文件处理器的日志等级
file_handler.setLevel(logging.DEBUG)
#设置文件处理器的格式
file_handler.setFormatter(logger_formatter)

#将stream handler添加到logger中
logger.addHandler(stream_handler)
#将文件处理器添加到logger中
logger.addHandler(file_handler)

logger.debug('这是debug')
logger.info('这是info')
logger.warning('这是warning')
logger.error('这是error')
logger.critical('这是critical')

 

标签:logging,进阶,stream,handler,处理器,日志,logger
From: https://www.cnblogs.com/mafei666/p/18593317

相关文章

  • 【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述
    【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述减少不必要的传输该前置的前置该缓存的缓存本篇文章我们来学习前端优化的概述。为什么开始学前端呢?大家思考一下,我们在之前的文章中写过这么一段话。我们优化的点是从用户使用我们系统开始,直到我们响......
  • 「mysql优化专题」什么是慢查询?如何通过慢查询日志优化?
    作者简介:大家好,我是码炫码哥,前中兴通讯、美团架构师,现任某互联网公司CTO,兼职码炫课堂主讲源码系列专题代表作:《jdk源码&多线程&高并发》,《深入tomcat源码解析》,《深入netty源码解析》,《深入dubbo源码解析》,《深入springboot源码解析》,《深入spring源码解析》,《深入redis源码......
  • 【springboot开发】Spring Boot 3 中的日志框架详解(含源码分析)
    一、引言二、spring-boot-starter-logging介绍四、日志框架加载源码分析五、结论一、引言SpringBoot3在日志处理方面提供了一套灵活且强大的解决方案。默认情况下,SpringBoot3使用SLF4J(SimpleLoggingFacadeforJava)作为日志门面,而Logback作为日志的实现框架。SLF4......
  • 输出与文件编码的兼容性 在 .CMD 文件中,通过正确的编码方式(如 UTF-8),可以确保脚本与外
    在计算机科学和技术领域,.CMD和.BAT文件都属于批处理脚本文件格式,它们是Windows操作系统中用于执行命令的一种文件类型。虽然这两者非常相似,但.CMD文件有一些相对于.BAT文件的优势,特别是在Windows2000及以后版本中。下面将分析.CMD文件相对于.BAT文件的一些优势,并......
  • Java日志记录几种实现方案
    在平时使用到一些软件中,比如某宝或者某书,通过记录用户的行为来构建和分析用户的行为数据,同时也能更好优化产品设计和提升用户体验。比如在一个订单系统中,需要确定追踪用户的行为,比如:登录/登出浏览商品加购商品搜索商品关键字下单上述行为就需要使用到日志系统来存储或者记......
  • 程序员基本进阶技能之精准汇报
    一个程序员的职业生涯中,永远都逃不开“工作汇报”这四个字。升职加薪的时候,需要参加王婆卖瓜的PPT大赛进行工作述职汇报;评定年终绩效和年终奖系数的时候,需要天花乱坠地进行年终总结汇报;每个季度末尾OKR总结的时候,需要提纲挈领地进行OKR进度汇报;每周周末之前,需要简洁高效的进行......
  • gorm: 配置日志输出到文件
    一,官方文档地址:https://gorm.io/zh_CN/docs/logger.html二,代码例子:1,写日志到文件的函数://日志写入到文件funcLogToFile(filename,msgstring){ //输出到文件 //filename:="logs/"+time.Now().Format("2006-01-02")+".log" file,err:=os.OpenFile(file......
  • 面向对象进阶-03-static的注意事项
    static的注意事项:静态方法只能访问静态变量和静态方法非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法静态方法中没有this关键字总结:静态方法中,只能访问静态非静态方法可以访问所有静态方法中没有this关键字 创建一个Javabean类......
  • C++从零到进阶 ③.1循环结构(介绍)
    本次是【C++从零到进阶】的第③课(介绍):循环结构介绍我们一个个来介绍提示:介绍单吃很难吃透,需要结合后续练习跟进才能做到掌握哦!目录一、for语句1.语句格式:2.使用范例3.详细说明4.语句执行过程二、while语句1.格式2.例子三、do-while语句四、循环嵌套五、退......
  • 复盘Air780E低功耗模组LuatOS开发的日志输出案例!
    今天我们要复盘的是Air780E低功耗模组LuatOS开发的日志输出案例,希望大家学习的时候有新的思考。一、LuatOS日志输出介绍LuatOS使用log库是进行日志输出,通过log库可以输出不同等级的用户日志。1.1日志的等级debug:调试内容输出,为日志输出优先级第4等级,优先级最低;info:信息输......