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

logging的基本使用教程

logging的基本使用教程

一、简介:

logging模块是Python的标准库,用于记录应用程序运行时的日志信息。使用logging`模块可以帮助您在开发过程中调试代码、追踪问题和监控应用程序的运行状况。

二、使用教程

1、logging模块的基本使用方法:

  1. 导入logging模块:
import logging
  1. 配置日志记录级别和格式:
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

这里,我们设置了日志记录级别为INFO,这意味着只有INFO级别及以上(WARNINGERRORCRITICAL)的日志会被记录。日志格式包括时间戳、日志级别和日志消息。

  1. 使用不同的日志级别记录消息:
logging.debug("这是一条debug级别的日志")
logging.info("这是一条info级别的日志")
logging.warning("这是一条warning级别的日志")
logging.error("这是一条error级别的日志")
logging.critical("这是一条critical级别的日志")

这些示例分别记录了不同级别的日志消息。由于我们之前设置的日志级别是INFO,因此DEBUG级别的日志不会被记录。

完整的示例代码:

import logginglogging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')logging.debug("这是一条debug级别的日志")
logging.info("这是一条info级别的日志")
logging.warning("这是一条warning级别的日志")
logging.error("这是一条error级别的日志")
logging.critical("这是一条critical级别的日志")

当您运行此代码时,将看到以下输出:

2022-10-08 13:45:29,135 - INFO - 这是一条info级别的日志
2022-10-08 13:45:29,135 - WARNING - 这是一条warning级别的日志
2022-10-08 13:45:29,135 - ERROR - 这是一条error级别的日志
2022-10-08 13:45:29,135 - CRITICAL - 这是一条critical级别的日志

这只是logging模块的基本用法。

2、logging打印日志到文件

# 配置日志记录级别、格式和文件名
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', filename='app.log')

在logging.basicConfig 中增加一个参数filename即可

您还可以配置更高级的功能,如设置自定义日志处理器和过滤器等。要了解更多关于logging模块的信息,请参考官方文档:https://docs.python.org/3/library/logging.html

相关文章:

logging的基本使用教程

logging的基本使用教程 一、简介: logging模块是Python的标准库,用于记录应用程序运行时的日志信息。使用logging模块可以帮助您在开发过程中调试代码、追踪问题和监控应用程序的运行状况。 二、使用教程 1、logging模块的基本使用方法: …...

ds套dp——考虑位置转移or值域转移:CF1762F

https://www.luogu.com.cn/problem/CF1762F 分析性质,就是我们选的数要么递增,要么递减(非严格)然后很明细是ds套dp, f i f_i fi​ 表示以 i i i 开头的答案然后考虑如何转移(ds套dp难点反而在转移而不是…...

stm32的GPIO寄存器操作以及GPIO外部中断,串口中断

一、学习参考资料 (1)正点原子的寄存器源码。 (2)STM32F103最小系统板开发指南-寄存器版本_V1.1(正点) (3)STM32F103最小系统板开发指南-库函数版本_V1.1(正点&a…...

生成对抗网络入门案例

前言 生成对抗网络(Generative Adversarial Networks,简称GANs)是一种用于生成新样本的机器学习模型。它由两个主要组件组成:生成器(Generator)和判别器(Discriminator)。生成器尝试…...

多头注意力机制

1、什么是多头注意力机制 从多头注意力的结构图中,貌似这个所谓的多个头就是指多组线性变换,但是并不是,只使用了一组线性变换层,即三个变换张量对 Q、K、V 分别进行线性变换,这些变化不会改变原有张量的尺寸&#xf…...

Qt + FFmpeg 搭建 Windows 开发环境

Qt FFmpeg 搭建 Windows 开发环境 Qt FFmpeg 搭建 Windows 开发环境安装 Qt Creator下载 FFmpeg 编译包测试 Qt FFmpeg踩坑解决方法1:换一个 FFmpeg 库解决方法2:把项目改成 64 位 后记 官方博客:https://www.yafeilinux.com/ Qt开源社区…...

[网鼎杯 2020 白虎组]PicDown python反弹shell proc/self目录的信息

[网鼎杯 2020 白虎组]PicDown - 知乎 这里确实完全不会 第一次遇到一个只有文件读取思路的题目 这里也确实说明还是要学学一些其他的东西了 首先打开环境 只存在一个框框 我们通过 目录扫描 抓包 注入 发现没有用 我们测试能不能任意文件读取 ?url../../../../etc/passwd …...

SDL2绘制ffmpeg解析的mp4文件

文章目录 1.FFMPEG利用命令行将mp4转yuv4202.ffmpeg将mp4解析为yuv数据2.1 核心api: 3.SDL2进行yuv绘制到屏幕3.1 核心api 4.完整代码5.效果展示6.SDL2事件响应补充6.1 处理方式-016.2 处理方式-02 本项目采用生产者消费者模型,生产者线程:使用ffmpeg将m…...

决策树C4.5算法的技术深度剖析、实战解读

目录 一、简介决策树(Decision Tree)例子: 信息熵(Information Entropy)与信息增益(Information Gain)例子: 信息增益比(Gain Ratio)例子: 二、算…...

LLMs Python解释器程序辅助语言模型(PAL)Program-aided language models (PAL)

正如您在本课程早期看到的,LLM执行算术和其他数学运算的能力是有限的。虽然您可以尝试使用链式思维提示来克服这一问题,但它只能帮助您走得更远。即使模型正确地通过了问题的推理,对于较大的数字或复杂的运算,它仍可能在个别数学操…...

【12】c++设计模式——>单例模式练习(任务队列)

属性: (1)存储任务的容器,这个容器可以选择使用STL中的队列(queue) (2)互斥锁,多线程访问的时候用于保护任务队列中的数据 方法:主要是对任务队列中的任务进行操作 &…...

Python之函数、模块、包库

函数、模块、包库基础概念和作用 A、函数 减少代码重复 将复杂问题代码分解成简单模块 提高代码可读性 复用老代码 """ 函数 """# 定义一个函数 def my_fuvtion():# 函数执行部分print(这是一个函数)# 定义带有参数的函数 def say_hello(n…...

SQL创建与删除索引

索引创建、删除与使用: 1.1 create方式创建索引:CREATE [UNIQUE – 唯一索引 | FULLTEXT – 全文索引 ] INDEX index_name ON table_name – 不指定唯一或全文时默认普通索引 (column1[(length) [DESC|ASC]] [,column2,…]) – 可以对多列建立组合索引 …...

网络协议--链路层

2.1 引言 从图1-4中可以看出,在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报; (2)为ARP模块发送ARP请求和接收ARP应答; (3&#xf…...

HDLbits: Count clock

目前写过最长的verilog代码,用了将近三个小时,编写12h显示的时钟,改来改去,估计只有我自己看得懂(吐血) module top_module(input clk,input reset,input ena,output pm,output [7:0] hh,output [7:0] mm,…...

【1day】用友移动管理系统任意文件上传漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现...

【c++】向webrtc学习容器操作

std::map的key为std::pair 时的查找 std::map<RemoteAndLocalNetworkId, size_t> in_flight_bytes_RTC_GUARDED_BY(&lock_);private:using RemoteAndLocalNetworkId = std::pair<uint16_t, uint16_t...

SpringBoot+Vue3外卖项目构思

SpringBoot的学习&#xff1a; SpringBoot的学习_明里灰的博客-CSDN博客 实现功能 前台 用户注册&#xff0c;邮箱登录&#xff0c;地址管理&#xff0c;历史订单&#xff0c;菜品规格&#xff0c;购物车&#xff0c;下单&#xff0c;菜品浏览&#xff0c;评价&#xff0c;…...

【AI视野·今日NLP 自然语言处理论文速览 第四十七期】Wed, 4 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 4 Oct 2023 Totally 73 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Contrastive Post-training Large Language Models on Data Curriculum Authors Canwen Xu, Corby Rosset, Luc…...

c++的lambda表达式

文章目录 1 lambda表达式2 捕捉列表 vs 参数列表3 lambda表达式的传递3.1 函数作为形参3.2 场景1&#xff1a;条件表达式3.3 场景2&#xff1a;线程的运行表达式 1 lambda表达式 lambda表达式可以理解为匿名函数&#xff0c;也就是没有名字的函数&#xff0c;既然是函数&#…...

一文讲清楚 OpenClaw 是什么,以及 Windows 下的部署

OpenClaw 到底是什么1. 它在系统里干的事&#xff1a;接入层 运行时管理很多人第一次看到 OpenClaw&#xff0c;会把它当成“一个聊天 UI”。更工程化的视角是&#xff1a;它负责把外部请求接进来&#xff0c;并把后面的执行系统跑起来、管起来。接入层&#xff1a;把外部入口…...

麦橘超然Flux部署避坑指南:常见错误与解决方法

麦橘超然Flux部署避坑指南&#xff1a;常见错误与解决方法 1. 部署前的环境准备 1.1 硬件与驱动检查 在部署麦橘超然Flux图像生成控制台前&#xff0c;确保你的硬件环境满足以下要求&#xff1a; 显卡&#xff1a;NVIDIA显卡&#xff08;RTX 3060及以上&#xff09;&#x…...

【大语言模型基础(2)】自注意力与多头机制:QKV、缩放与因果掩码

文章目录摘要1. 为什么需要自注意力2. Q、K、V 到底是什么一个具体例子3. Attention 公式在干什么第一步&#xff1a;计算相似度第二步&#xff1a;做缩放第三步&#xff1a;softmax\mathrm{softmax}softmax 归一化第四步&#xff1a;对 ValueValueValue 做加权平均4. 为什么 G…...

Python中数据映射与转换的实现方法

在Python编程中&#xff0c;数据映射与转换是数据处理过程中的核心环节&#xff0c;广泛应用于数据清洗、格式转换、特征工程等多个领域。本文将系统梳理Python中实现数据映射与转换的多种方法&#xff0c;涵盖基础技巧、进阶应用及第三方库的高效实现&#xff0c;帮助开发者构…...

毫米波雷达(AWR1864)二、从零到一:SDK配置与固件刷写实战

1. 毫米波雷达开发环境搭建全攻略 第一次接触AWR1864毫米波雷达开发板时&#xff0c;最让人头疼的就是软件环境的配置。记得我刚开始用这块板子的时候&#xff0c;光是为了让开发板识别出来就折腾了大半天。这里给大家分享一个Windows系统下的完整配置方案&#xff0c;帮你避开…...

Path of Building:流放之路构筑规划的精准导航工具

Path of Building&#xff1a;流放之路构筑规划的精准导航工具 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/gh_mirrors/pat/PathOfBuilding 在《流放之路》复杂多变的角色构建世界中&#xff0c;Path of …...

Qwen3-Reranker-0.6B实战:一键部署,轻松提升企业知识库检索准确率

Qwen3-Reranker-0.6B实战&#xff1a;一键部署&#xff0c;轻松提升企业知识库检索准确率 1. 为什么企业需要专业级重排序技术&#xff1f; 在当今信息爆炸的时代&#xff0c;企业知识库的规模正以惊人的速度增长。传统的关键词匹配检索方式已经无法满足精准获取知识的需求。…...

Micro Debug:Arduino极简嵌入式调试库

1. 项目概述Micro Debug 是一个专为 Arduino 平台设计的极简式嵌入式调试库&#xff0c;其核心设计哲学是“零依赖、零开销、零侵入”——不引入任何额外的硬件资源占用&#xff08;如额外串口、定时器或DMA通道&#xff09;&#xff0c;不增加运行时调度负担&#xff08;无任务…...

终极指南:如何使用Divinity Mod Manager轻松管理《神界:原罪2》模组

终极指南&#xff1a;如何使用Divinity Mod Manager轻松管理《神界&#xff1a;原罪2》模组 【免费下载链接】DivinityModManager A mod manager for Divinity: Original Sin - Definitive Edition. 项目地址: https://gitcode.com/gh_mirrors/di/DivinityModManager 如…...

告别Activity重建:用onConfigurationChanged优雅处理Android 13+的深色主题与多语言切换

告别Activity重建&#xff1a;用onConfigurationChanged优雅处理Android 13的深色主题与多语言切换 在Android 13及更高版本中&#xff0c;深色主题动态切换和多语言即时切换已成为提升用户体验的关键功能。传统方案通过重建Activity实现配置变更&#xff0c;但会导致界面闪烁、…...