Python日志模块log

1. 日志介绍

也就是日记,程序运行过程中产生的信息,程序如何运行的信息(什么时间做了什么)

日志即可以在终端中显示,也可以直接到文件当中显示

日志的作用:方便定位,记录

日志包含的信息:日期,等级,信息

等级:

-- NOSET 0 等于没写

-- debug 10 调试信息,

-- info 20 主体功能信息,如日报,做了什么工作

-- warning 30 警告信息,如交警警告

-- error 40 错误信息,如抢红灯,犯错c 

-- critical 50 严重错误信息,如打劫

日志有两种记录方法:

一种是需要安装第三方库,loguru

一种是python自带的,直接导入就能用,logging

2. loguru

使用步骤:

第一步:

使用之前若未安装过,要先进行安装,按之前的两种方法安装不上,就用此命令安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade loguru

第二步:

导入 from loguru import logger

from loguru import logger

logger.info('这是一个正常的日志,我正在执行主程序')
logger.warning('这是一个警告信息')
logger.error('这是错误信息')

运行结果:

 

记录程序运行的日志:

1. logger.info()记录步骤
2. logger.error()记录错误

在一项目中如何使用呢?如下

import unittest  # 导入unittest
from loguru import logger


def login(username=None, password=None):
    if username is None or password is None:
        return {"code": "400", "msg": "用户名或密码为空"}
    if username == 'yuz' and password == '123':
        return {"code": "200", "msg": "登录成功"}
    return {"code": "300", "msg": "用户名或密码错误"}


# 添加日志文件
logger.add(sink='demo_log.log', encoding='utf-8')


class TestLogin(unittest.TestCase):
    def test_login_1(self):
        username = 'li'
        password = '123'
        expected = {"code": "300", "msg": "用户名或密码
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python 中的 `log` 模块提供了一种灵活的日志记录和追踪方式,可以帮助我们在应用程序中记录和追踪事件。通过使用 `log` 模块,可以记录应用程序中发生的各种事件,如警告、错误、信息等,并可以将这些事件记录到不同的输出渠道,如控制台、文件、数据库等。 以下是 `log` 模块的一些重要组件: - `Logger`:`Logger` 对象负责记录和追踪应用程序中的事件。可以创建多个 `Logger` 对象,每个对象可以单独记录和追踪事件。`Logger` 对象可以配置日志级别、输出格式、输出渠道等信息。 - `Handler`:`Handler` 对象负责将记录的事件输出到不同的渠道,如控制台、文件、数据库等。可以创建多个 `Handler` 对象,并将其添加到指定的 `Logger` 对象中。 - `Formatter`:`Formatter` 对象负责设置日志输出的格式,如时间、日志级别、消息等。 以下是一个简单的示例代码,演示如何使用 `log` 模块记录信息: ```python import logging # 配置日志级别、输出格式 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 创建 Logger 对象 logger = logging.getLogger('my_logger') # 创建 Handler 对象,并添加到 Logger 对象中 console_handler = logging.StreamHandler() logger.addHandler(console_handler) # 创建 Formatter 对象,并设置 Handler 对象的输出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler.setFormatter(formatter) # 记录日志 logger.info('this is an info message') ``` 上述代码中,首先通过 `basicConfig` 方法配置了日志级别和输出格式。然后创建了一个名为 `my_logger` 的 `Logger` 对象。接着创建了一个 `StreamHandler` 对象,并将其添加到 `Logger` 对象中。最后创建了一个 `Formatter` 对象,并将其设置为 `StreamHandler` 对象的输出格式。最后通过 `Logger` 对象记录了一条信息。在控制台中可以看到如下输出: ``` 2021-08-03 10:28:56,911 - my_logger - INFO - this is an info message ``` 以上是 `log` 模块的一个简单示例,更多详细信息可以参考 Python 官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值