python如何通过自身日志系统读写日志文件

在Python中,可以使用logging模块来实现日志的读写操作。

首先,在代码中引入logging模块:

import logging

然后,创建一个日志记录器,你可以指定记录器的名称,这样你就可以在代码中通过名称来获取这个日志记录器:

logger = logging.getLogger('my_logger')

接下来,设置日志级别。常见的日志级别有DEBUGINFOWARNINGERRORCRITICAL。你可以使用setLevel方法来设置日志级别,例如:

logger.setLevel(logging.DEBUG)

然后,创建一个文件处理器,用于将日志信息写入到文件中。你可以使用FileHandler来创建一个文件处理器,需要指定日志文件的名称:

file_handler = logging.FileHandler('my_log.log')

接着,设置文件处理器的级别,你可以根据需要设置不同的级别:

file_handler.setLevel(logging.DEBUG)

然后,创建一个日志格式化器,可以使用Formatter来创建一个格式化器:

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

接下来,将格式化器添加到文件处理器中:

file_handler.setFormatter(formatter)

然后,将文件处理器添加到日志记录器中:

logger.addHandler(file_handler)

现在,你可以使用日志记录器来记录日志了。例如,使用logger.debug方法来记录调试信息:

logger.debug('This is a debug message')

最后,记得关闭日志记录器:

logger.removeHandler(file_handler)
file_handler.close()

完整的示例代码如下:

import logging# 创建日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)# 创建文件处理器
file_handler = logging.FileHandler('my_log.log')
file_handler.setLevel(logging.DEBUG)# 创建日志格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 将格式化器添加到文件处理器中
file_handler.setFormatter(formatter)# 将文件处理器添加到日志记录器中
logger.addHandler(file_handler)# 记录日志
logger.debug('This is a debug message')# 关闭日志记录器
logger.removeHandler(file_handler)
file_handler.close()

运行这段代码后,会在当前目录下创建一个名为my_log.log的日志文件,并将日志信息写入其中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大一python题库刷题训练,大一python填空题题库

大家好,给大家分享一下大一python题库及答案和分析,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 这篇文章主要介绍了大一python上机题库及答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完…

HiveSql语法优化二 :join算法

Hive拥有多种join算法,包括Common Join,Map Join,Bucket Map Join,Sort Merge Buckt Map Join等,下面对每种join算法做简要说明: Common Join Common Join是Hive中最稳定的join算法,其通过一个M…

python 连接SQL server 请用pymssql连接,千万别用pyodbc

pymssql官方介绍文档 python 使用 pymssql连接 SQL server 代码示例: 安装pymssql包: pip install pymssql代码: import pymssqldef conn_sqlserver_demo():# 连接字符串示例(根据您的配置进行修改)conn Nonetry:co…

运维笔记之centos7安装mysql数据库

安装wget [rootstem-mysql ~]# yum install wget -y... 总下载量:547 k 安装大小:2.0 M Downloading packages: wget-1.14-18.el7_6.1.x86_64.rpm …

python中的随机选择和随机采样

python中的随机选择和随机采样 简单使用python中numpy.random.choice()、random.choice()、random.choices()区别介绍numpy中choice()random中choice()和choices()random.sample() 简单使用 生成随机整数,请使用 random.randint() ,例如范围为[0-10]&am…

常见Appium相关问题及解决方案

问题1:adb检测不到设备 解决: 1.检查手机驱动是否安装(win10系统不需要),去官网下载手机驱动或者电脑下载手机助手来辅助安装手机驱动,安装完成后卸载手机助手(防止接入手机时抢adb端口造成干…

Linux 高级管理,MySQL服务器的构建与维护

实验环境 某公司因业务范围日益扩大,最近订购了一套基于B/S架构的电子商务系统,在正式部署之前,要 求对现有的httpd服务器进行改造,首先需要增加MySQL数据库服务。 需求描述 1. 编译安装MySQL服务器,并添加为mysqld系…

发现隐藏的 Web 应用程序漏洞

随着 Web 2.0 的扩展,近年来社交媒体平台、电子商务网站和电子邮件客户端充斥着互联网空间,Web 应用程序已变得无处不在。 国际知名网络安全专家、东方联盟创始人郭盛华透露:‘应用程序消耗和存储更加敏感和全面的数据,它们成为对…

leetcode:622. 设计循环队列

设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一…

ES6 面试题 | 16.精选 ES6 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

《PMBOK指南第6版》笔记

目录 1. 引论1.1 指南概述和目的1.1.1 项目管理标准1.1.2 通用词汇 1.2 基本要素1.2.1 项目1.2.3 项目、项目集、项目组合以及运营管理之间的关系1.2.3.1 概述1.2.3.4 运营管理 1.2.4 指南的组成部分1.2.4.1 项目和开发生命周期1.2.4.2 项目阶段1.2.4.4 项目管理过程1.2.4.5 项…

vue2自创项目——饭搭子项目总结

文章目录 问题vuex状态管理父子组件数据展示路由跳转用户信息的修改 改进 本篇主要总结出现的问题和一些解决方法 问题 vuex状态管理 在登录功能中,我使用了local storage进行了用户信息的持久化处理,为此,我在vuex里定义了一个方法&#x…

【delphi11】上古语言delphi基础探索【一、学习计划设定】——有人说她老,我却认为她是美人迟暮。

高手程序员选择C、聪明的程序员选择delphi。一句过时的语句送给大家,愿感兴趣的伙伴陪我走下去,这段无意义但是会非常好玩的旅程。 第一阶段:Delphi 基础(1-2 个月) 环境熟悉 安装 Delphi IDE。探索 IDE 的各个组成部…

231217 刷题日报

1. LRU 2.LFU 3. 十字链表,加法,乘法 public class Main {public static void main(String[] args) {CrossLinkedList list new CrossLinkedList(3, 3);list.insert(0, 0, 1);list.insert(1, 0, 5);list.insert(2, 2, 3);list.display();System.out.p…

Apple Find My「查找」认证芯片找哪家,认准伦茨科技ST17H6x芯片

深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…

HarmonyOS与Data-Ability基本概念的使用方法及使用步骤

基本概念 使用Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。 数据的存放形式多…

【python+requests】接口自动化测试

这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sql…

山海鲸可视化软件:打破数据孤岛,支持多种数据源连接

在之前的文章中为大家介绍了山海鲸可视化软件的主要应用场景,那么作为山海鲸可视化软件的开发者,我希望大家能更全面的了解我们这款免费的数字孪生软件,从而轻松上手。本文从数字孪生第一步接入数据开始为大家介绍一下山海鲸可视化软件支持的…

2021年数维杯国际大学生数学建模D题2021年电影市场票房波动模型分析求解全过程文档及程序

2021年数维杯国际大学生数学建模 D题 2021年电影市场票房波动模型分析 原题再现: 1、电影票房预测建模背景   随着人们文化消费需求的增加,电影院和银幕的数量不断增加,我国的电影产业不断呈现出繁荣景象。2019年,全国电影票房…

12、ble_mesh_vendor_model 服务端,自定义模型

1、初始化流程,存储初始化,nvs擦除, board_init();初始化LED。 2、bluetooth_init();ble协议栈初始化 3、ble_mesh_get_dev_uuid(dev_uuid);//获取设备uuid加载到mac,后两位dev uuid 4、ble_mesh_init();//ble mesh协议栈初始化。…