如何在python文件中使用日志功能?简单版本

在项目中实用日志时非常常见的,同样在python文件中也可以使用日志,记录一些关键的日志信息,这里简单列举如何在python文件中直接使用日志,分别参考下面代码中的 1 到 5 步骤:

文件 logUser.py 如下:

python 复制代码
# -*- coding: UTF-8 -*-
# ========================================
# @ProjectName: pythonws001
# @Filename: logUse.py
# @Copyright www.xxx.com
# @Author: shenzhennba(Administrator)
# @Version 1.0
# @Since 2025/12/6 13:35
# ========================================
# 简单单个logging模块的使用方法
# ========================================
# 1,导入logging模块
import logging
import datetime

# 2,配置默认的日志输出级别和输出格式,可选配置,不配置则使用默认配置
logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# 3,定义和设置控制台日志输入格式对象(可选配置)
consoleHandler = logging.StreamHandler()
consoleHandler.setFormatter(logging.Formatter(
    '%(asctime)s - %(name)s - %(levelname)s - %(message)s'))

# 4,定义和设置日志文件输出格式对象(可选配置)
fileHandler = logging.FileHandler(
    r'F:\appData\tempLog\pythonws001.log', encoding='utf-8')
# fileHandler = logging.FileHandler(
# r'pythonws001.log',encoding='utf-8') #无路径,默认在包所在目录下
fileHandler.setFormatter(logging.Formatter(
    '%(asctime)s - %(name)s - %(levelname)s - %(message)s'))

# 5,获取日志对象和是指各种输出处理器,
# 每个模块将有自己的日志记录器,并且可以通过模块名来区分日志消息的来源。
logger = logging.getLogger(__name__)
# 设置日志记录器的日志级别
logger.setLevel(logging.INFO)
# 添加日志输出处理对象
logger.addHandler(consoleHandler)
logger.addHandler(fileHandler)


# 6,在代码中使用日志对象记录日志信息
# logger.info("这是一个 info 级别的日志")


def fun01(name):
    logger.debug("这是一个 debug 级别的日志")
    logger.info("这是一个 info 级别的日志")
    print(f'Hi, {name}')
    print(f'date time: {datetime.datetime.now()}')
    logger.warning("这是一个 warning 级别的日志")
    logger.error("这是一个 error 级别的日志")
    logger.critical("这是一个 critical 级别的日志")


if __name__ == '__main__':
    fun01('Python')

需要注意的是,这里简单使用,所以在单个文件中使用问题不大,但在项目中多个文件如果都这样写存在每次重复写的缺点,所以在项目中不推荐这样写,应抽出一个通用模块比较好。

相关推荐
Mickey同学几秒前
提示词注入:AI 时代的「SQL 注入」
前端
deli0073 分钟前
GROUP BY 先别想当然:我把 SQL 分组语义做成了沙盘,8 个实验 + 27 条自检全绿
前端
WayneX4 分钟前
开源 Vue 3 组件库 Morya UI:把组件、文档、AI 工具链一起做进一个包
前端·vue.js·前端框架
用户15741568165344 分钟前
页面白屏 + Invalid prop: type check failed for prop "options"?原来是 script setup 的 ref
前端
btcSteven5 分钟前
给浏览器装了个「AI 操作员」:纯聊天帮你完成任何任务
前端
高晶6 分钟前
一种小功率锂电池组充电器方案
前端·架构
deli0076 分钟前
AI 说写完了怎么知道它没骗你?16 项交付证据清单,我用码道做成一键核对页
前端
zReadonly8 分钟前
不用反复 nvm use 了:nvm-windows 2.x 按项目自动切换 Node.js
前端·node.js
威哥爱编程11 分钟前
【AI全栈12-01】Spring Boot 为何是 AI 全栈后端优选
java·spring boot·后端
汉堡大王952712 分钟前
GPT-6 上线 48 小时,我扒开了 Intelligent UI 的运行机制:DIL、沙箱 Worker 和一个 React 式协调器
前端·javascript·后端