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

日志的基本用法

目标

1. 掌握如何设置日志级别

2. 掌握如何设置日志格式

3. 掌握如何将日志信息输出到文件中

1. logging模块

Python中有一个标准库模块logging可以直接记录日志

1.1 基本用法

import logging
logging.debug("这是一条调试信息")
logging.info("这是一条普通信息")
logging.warning("这是一条警告信息")
logging.error("这是一条错误信息")
logging.critical("这是一条严重错误信息")

1.2 设置日志级别

logging中默认的日志级别为WARNING,程序中大于等于该级别的日志才能输出,小于该级别的日志不会被打印出 来。

设置日志级别

logging.basicConfig(level=logging.DEBUG)

如何选择日志级别

在开发环境和测试环境中,为了尽可能详细的查看程序的运行状态来保证上线后的稳定性,可以使用DEBUG 或INFO级别的日志获取详细的日志信息,这是非常耗费机器性能的。

在生产环境中,通常只记录程序的异常信息、错误信息等(设置成WARNING或ERROR级别),这样既可以 减小服务器的I/O压力,也可以提高获取错误日志信息的效率和方便问题的排查。

1.3 设置日志格式

默认的日志的格式为:

日志级别:Logger名称:日志内容

自定义日志格式:

logging.basicConfig(format="%(levelname)s:%(name)s:%(message)s")

format参数中可能用到的格式化信息:

示例代码:

import logging
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s'
logging.basicConfig(level=logging.INFO, format=fmt)
logging.debug("调试")
logging.info("信息")
logging.warning("警告")
logging.error("错误")

1.4 将日志信息输出到文件中

默认情况下Python的logging模块将日志打印到了标准输出中(控制台) 将日志信息输出到文件中:

logging.basicConfig(filename="a.log")

示例代码:

import logging
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s'
logging.basicConfig(filename="a.log", level=logging.INFO, format=fmt)
logging.debug("调试")
logging.info("信息")
logging.warning("警告")
logging.error("错误")

相关文章:

日志的基本用法

目标 1. 掌握如何设置日志级别 2. 掌握如何设置日志格式 3. 掌握如何将日志信息输出到文件中 1. logging模块 Python中有一个标准库模块logging可以直接记录日志 1.1 基本用法 import logging logging.debug("这是一条调试信息") logging.info("这是一条…...

什么是页分裂、页合并?

数据组织方式 在InnoDB存储引擎中,表数据都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(index organized table IOT)。 行数据,都是存储在聚集索引的叶子节点上的。而我们之前也讲解过InnoDB的逻辑结构图: 在I…...

软件2班20240513

第三次作业 package com.yanyu;import java.sql.*; import java.util.ResourceBundle;public class JDBCTest01 {public static void main(String[] args) {ResourceBundle bundle ResourceBundle.getBundle("com/resources/db");// ctrl alt vString driver …...

嵌入式学习-时钟树

时钟树 时钟分类 时钟树框图 LSI与LSE HSI、HSE与PLL 系统时钟的产生 AHB、APBx的时钟配置 相关寄存器 寄存器部分的细节内容请参考手册。 相关库函数...

对博客系统基本功能进行自动化测试(Junit + Selenium)

环境搭建&#xff1a; 浏览器&#xff1a; 本次测试使用Chrome浏览器在jdk的bin目录下安装对应浏览器驱动&#xff08;尽量选择与浏览器版本相近的驱动&#xff09;chromedriver.storage.googleapis.com/index.htmlJunit依赖&#xff1a; <!-- https://mvnreposit…...

《换你来当爹》:AI驱动的养成游戏,探索虚拟亲子关系的新模式

AI技术如何重塑我们对游戏互动的认知 在人工智能技术的浪潮下&#xff0c;一款名为《换你来当爹》的AI养成游戏&#xff0c;以其创新的互动模式和个性化体验&#xff0c;吸引了游戏爱好者的目光。这款游戏利用了先进的LLM技术&#xff0c;通过AI实时生成剧情和图片&#xff0c…...

在idea中使用vue

一、安装node.js 1、在node.js官网&#xff08;下载 | Node.js 中文网&#xff09;上下载适合自己电脑版本的node.js压缩包 2、下载完成后进行解压并安装&#xff0c;一定要记住自己的安装路径 一直点击next即可&#xff0c;这部选第一个 3、安装成功后&#xff0c;按住winR输入…...

Linux系统编程:进程控制

1.进程创建 1.1 fork函数 fork&#xff08;&#xff09;通过复制调用进程来创建一个新进程。新进程称为子进程&#xff0c;是调用进程的精确副本 进程&#xff0c;但以下几点除外&#xff1a; 子进程有自己的PID&#xff0c;此PID与任何现有进程组的ID不匹配子进程的父进程ID…...

Android 异常开机半屏重启代码分析

Android 的稳定性是 Android 性能的一个重要指标&#xff0c;它也是 App 质量构建体系中最基本和最关键的一环&#xff1b;如果应用经常崩溃&#xff0c;或者关键功能不可用&#xff0c;那显然会对我们的留存产生重大影响所以为了保障应用的稳定性&#xff0c;我们首先应该树立…...

Kafka从0到消费者开发

安装ZK Index of /zookeeper/zookeeper-3.9.2 下载安装包 一定要下载-bin的&#xff0c;不带bin的是源码&#xff0c;没有编译的&#xff0c;无法执行。-bin的才可以执行。 解压 tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz 备份配置 cp zoo_sample.cfg zoo_sample.cfg-b…...

01-项目功能,架构设计介绍

稻草快速开发平台 开发背景就是通过此项目介绍使用SpringBoot Vue3两大技术栈开发一个拥有动态权限、路由的前后端分离项目&#xff0c;此项目可以继续完善&#xff0c;成为一个模板为将来快速开发做铺垫。 实现功能 开发流程 通过命令构建前端项目在VSCode中开发&#xff…...

bvh 好用强大的播放器源码

目录 效果图&#xff1a; 显示旋转角度&#xff1a; 显示骨骼名称 下载链接&#xff1a; 可以显示骨骼名称&#xff0c;旋转角度&#xff0c;自适应大小&#xff0c;支持3维npz数据可视化 python实现&#xff0c;提供源代码&#xff0c;修改和完善很方便。 根据3维npz生成…...

安阳在线知识付费系统,培训机构如何进行课程体系的设置?

校外培训不管是从招生还是课程体系都是截然不同的&#xff0c;在课程体系设置上&#xff0c;不同的层次设计也就不同。课程体系设计在功能诉求上可以分为入门课、核心课、高利润课、种子课四个类别。下面为大家介绍一下。 1、入门课 “入门课”就是最易、最省、最少障碍的满足家…...

网络编程:服务器模型-并发服务器-多进程

并发服务器概念&#xff1a; 并发服务器同一时刻可以处理多个客户机的请求 设计思路&#xff1a; 并发服务器是在循环服务器基础上优化过来的 &#xff08;1&#xff09;每连接一个客户机&#xff0c;服务器立马创建子进程或者子线程来跟新的客户机通信 &#xff08;accept之后…...

React 基础案例

React的特点&#xff1a; 1、声明式编程 2、组件化开发 3、多平台适配yuan 原生实现&#xff1a; <h2 class"title"></h2><button class"btn">改变文本</button><script>let msg "Hello World";const titleEl d…...

【Python探索之旅】选择结构(条件语句)

文章目录 条件结构&#xff1a; 1.1 if单分支结构 1.2 if-else 多分支结构 1.3 if-elif 多重结构&#xff1a; 完结撒花​ 前言 Python条件语句是通过一条或多条语句的执行结果&#xff08;True或者False&#xff09;来决定执行的代码块。 Python提供了顺序、选择、循环三…...

Recommender ~ Collaborative filtering

Using per-item features User j 预测 movie i&#xff1a; Cost Function: 仅求和用户投票过的电影。 常规规范化&#xff08;usual normalization&#xff09;&#xff1a;1/2m 正则化项&#xff1a;阻止过拟合 在知晓X的前提下&#xff0c;如何学习w&#xff0c;b参数…...

我觉得POC应该贴近实际

今天我看到一位老师给我一份测试数据。 这是三个国产数据库。算是分布式的。其中有两个和我比较熟悉&#xff0c;但是这个数据看上去并不好。看上去第一个黄色的数据库数据是这里最好的了。但是即使如此&#xff0c;我相信大部分做数据库的人都知道。MySQL和PostgreSQL平时拿出…...

AI 情感聊天机器人工作之旅 —— 与复读机问题的相遇与别离

前言&#xff1a;先前在杭州的一家大模型公司从事海外闲聊机器人产品&#xff0c;目前已经离职&#xff0c;文章主要讨论在闲聊场景下遇到的“复读机”问题以及一些我个人的思考和解决方案。文章内部已经对相关公司和人员信息做了去敏&#xff0c;如仍涉及到机密等情况&#xf…...

如何使用ArcGIS Pro进行选房分析

无论是研究城市规划布局还是寻找理想的住房&#xff0c;都需要综合考虑购物、医疗、教育和休闲等多方面因素&#xff0c;此时我们的GIS软件就可以派上用场了&#xff0c;这里为大家介绍一下如何使用 ArcGIS Pro 进行选房分析&#xff0c;希望能对你有所帮助。 数据来源 教程所…...

BiliTools跨平台哔哩哔哩工具箱:一站式B站资源管理终极解决方案

BiliTools跨平台哔哩哔哩工具箱&#xff1a;一站式B站资源管理终极解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/b…...

从苹果AirTag到国产车钥匙:拆解UWB芯片厂商格局与选型指南(附功耗实测参考)

从苹果AirTag到国产车钥匙&#xff1a;拆解UWB芯片厂商格局与选型指南 当你的手机靠近车门自动解锁&#xff0c;或是通过AirTag精准定位背包位置时&#xff0c;背后都离不开一项关键技术——UWB&#xff08;超宽带&#xff09;。这种厘米级精度的空间感知能力&#xff0c;正在重…...

从KITTI到TUM:利用evo工具链实现轨迹真值的格式转换与可视化分析

1. 理解KITTI与TUM轨迹格式的本质差异 第一次接触SLAM评估时&#xff0c;我被各种轨迹格式搞得头晕眼花。KITTI和TUM这两种最常见的格式&#xff0c;就像两个说着不同方言的技术专家。KITTI格式简单粗暴&#xff0c;直接记录12个数字代表相机的位姿变换矩阵&#xff08;去掉最后…...

4步攻克Python代码执行可视化:开发者调试效率提升指南

4步攻克Python代码执行可视化&#xff1a;开发者调试效率提升指南 【免费下载链接】viztracer VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution. 项目地址: https://gitcode.com/gh_mirrors/vi/vizt…...

OpenH264:开源H.264编解码库的技术实现与工程实践

OpenH264&#xff1a;开源H.264编解码库的技术实现与工程实践 【免费下载链接】openh264 Open Source H.264 Codec 项目地址: https://gitcode.com/gh_mirrors/op/openh264 OpenH264作为Cisco维护的开源H.264编解码库&#xff0c;在实时视频通信、流媒体传输和嵌入式设…...

HP-Socket技术债务管理会议决策记录:选项、理由与结果

HP-Socket技术债务管理会议决策记录&#xff1a;选项、理由与结果 【免费下载链接】HP-Socket High Performance TCP/UDP/HTTP Communication Component 项目地址: https://gitcode.com/gh_mirrors/hp/HP-Socket 作为一款高性能TCP/UDP/HTTP通信组件库&#xff0c;HP-So…...

从555到正弦波:手把手教你用立创EDA仿真+打样一个2KHz波形发生器(附完整工程)

从555到正弦波&#xff1a;立创EDA全流程打造2KHz波形发生器实战指南 在电子设计领域&#xff0c;波形发生器是最基础却又最考验设计功底的经典项目之一。想象一下&#xff0c;当你亲手设计的电路板输出完美的正弦波时&#xff0c;那种成就感绝非购买现成模块可比。本文将带你用…...

HunyuanVideo-Foley镜像特性解析:低内存加载方案与显存碎片优化机制

HunyuanVideo-Foley镜像特性解析&#xff1a;低内存加载方案与显存碎片优化机制 1. 镜像概述与核心能力 HunyuanVideo-Foley是一款专为视频生成与音效合成任务优化的私有部署镜像&#xff0c;基于RTX 4090D 24GB显存环境深度调优。该镜像将视频生成与Foley音效生成能力整合在…...

保姆级教程:用Cloudreve+Obsidian打造私人云笔记(附WebDAV配置避坑指南)

零基础构建私有知识库&#xff1a;Cloudreve与Obsidian的完美联姻 在信息爆炸的时代&#xff0c;如何高效管理个人知识资产已成为现代人的刚需。想象一下&#xff1a;你正在咖啡馆用iPad记录灵感&#xff0c;回到家打开电脑时这些想法已自动同步&#xff1b;出差途中用手机查阅…...

CasRel开源镜像部署教程:适配低显存(12GB)GPU的轻量级方案

CasRel开源镜像部署教程&#xff1a;适配低显存&#xff08;12GB&#xff09;GPU的轻量级方案 1. 前言&#xff1a;为什么选择这个方案 如果你正在处理文本数据&#xff0c;想要自动提取人物、地点、事件之间的关系&#xff0c;那么关系抽取技术就是你需要的工具。CasRel作为…...