当前位置: 首页 > news >正文

python项目中的日志定义

python日志定义,包含配置文件,和日志实例创建方法

一、日志创建方法,创建一个loger实例

import loggingdef get_logger(name):# 创建一个loggerlogger = logging.getLogger(name)# 设置日志级别logger.setLevel(logging.INFO)# 创建一个日志记录到文件的handler,也就是日志文件的路径file_handler = logging.FileHandler(f'logs\\{name}.log', 'a', 'utf-8')# 设置文件handler的日志级别file_handler.setLevel(logging.INFO)# 创建一个控制台handlerconsole_handler = logging.StreamHandler()console_handler.setLevel(logging.INFO)# 创建日志格式formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 设置handler的格式file_handler.setFormatter(formatter)console_handler.setFormatter(formatter)# 添加handler到loggerlogger.addHandler(file_handler)logger.addHandler(console_handler)return logger

二、使用方法

class MyTestClass():def __init__(self, host: list, port: str, username: str, password: str, logger_name):self.logger = logger_collector.get_logger(logger_name)def my_method(self):self.logger.debug("这是一条debug信息")self.logger.info("这是一条info信息")self.logger.warning("这是一条warning信息")self.logger.error("这是一条error信息")self.logger.critical("这是一条critical信息")

以上方法,简单 的创建了一个获取logger的方法,更个性化或者更复杂的配置可以参考官方文档:https://docs.python.org/zh-cn/3/library/logging.html

相关文章:

  • Qt for android : libusb在android中使用
  • gitea的git库备份与恢复
  • nacos连接异常did not find the Leader node;
  • JAVA应用服务器如何快速定位CPU问题
  • 【vue】@、@/、../和./的区别
  • apollo版本更新简要概述
  • 【机器学习】深入探索机器学习:利用机器学习探索股票价格预测的新路径
  • 现货白银的交易时间有多连贯?
  • 数据结构(六)队列
  • 计算机视觉与模式识别实验1-2 图像的形态学操作
  • PostgreSQL入门教程
  • 【算法】位运算算法——消失的两个数字(困难)
  • FinalShell无法连接Linux
  • 【论文导读】Grid Graph Reduction for Efficient Shortest Pathfinding(2023 Access)
  • 64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【个人向】《HTTP图解》阅后小结
  • AngularJS指令开发(1)——参数详解
  • isset在php5.6-和php7.0+的一些差异
  • Javascript弹出层-初探
  • jquery cookie
  • Laravel Telescope:优雅的应用调试工具
  • Lucene解析 - 基本概念
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Node + FFmpeg 实现Canvas动画导出视频
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 构建二叉树进行数值数组的去重及优化
  • 京东美团研发面经
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 算法-图和图算法
  • 微信小程序--------语音识别(前端自己也能玩)
  • 一份游戏开发学习路线
  • 移动端唤起键盘时取消position:fixed定位
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 移动端高清、多屏适配方案
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)计算机毕业设计ssm电影分享网站
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (算法)求1到1亿间的质数或素数
  • 、写入Shellcode到注册表上线
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net core 外观者设计模式 实现,多种支付选择
  • .net 无限分类
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net程序帮助文档制作
  • .NET程序集编辑器/调试器 dnSpy 使用介绍
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)