如何在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')

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

相关推荐
掘金泥石流1 小时前
分享下我创业烧了 几十万的 AI Coding 经验
前端·javascript·后端
用户47949283569151 小时前
JavaScript 为什么选择原型链?从第一性原理聊聊这个设计
前端·javascript
new code Boy1 小时前
vscode左侧栏图标及目录恢复
前端·javascript
唐诗1 小时前
Git提交信息太乱?AI一键美化!一行命令拯救你的项目历史🚀
前端·ai编程
编织幻境的妖2 小时前
Python垃圾回收机制详解
开发语言·python
遇印记2 小时前
javaOCA考点(基础)
java·开发语言·青少年编程
李剑一2 小时前
Python学习笔记4
python
阿里云云原生2 小时前
告别“看不见的内存”!SysOM 如何实现 Java 进程内存全景分析?
java·云原生