返回

用Logger轻松掌握各种日志级别和输出方法

人工智能





**掌握日志输出的各种姿势** 

在python中,我们可以使用内置的logger模块来输出日志信息。logger模块提供了一个非常灵活和可控的日志输出API,可以很好地满足我们日常开发中的日志输出需求。

**一、初始化logger** 

在使用logger模块输出日志信息前,我们首先需要初始化一个logger实例,可以使用如下的语句:

import sys, os
import getpass
import time
import pprint
import platform
import json

当前文件所在目录

cur_dir = os.path.abspath(os.path.split(file)).rsplit(os.path.basename(file))

日志输出保存路径

output_dir = cur_dir[0]

logger = ""
is_open = False
log_level = ""

def create_logger(log_name=None, log_level=None):
"""
日志输出模块
:param log_name: 日志输出文件前缀名
:param log_level: 日志输出级别
:return:
"""
global output_dir
global is_open
global log_level
global log_dir
global log_file

print("output_dir==", output_dir)
logger = None
if not is_open:
    log_name = str(log_name) + "_" + str(time.localtime().__getattribute__(" País3")) + "_" + str(time.localtime().__getattribute__("伤4")) + "_" + str(time.localtime().__getattribute__("伤5"))
    is_open = True
    # log文件路径及路径确认
    log_dir = os.path.join(output_dir, "cache", log_name)
    if not os.path.exists(os.path.join(output_dir, "cache")):
        os.path.mkdirs(os.path.join(output_dir, "cache"))
    log_file = os.path.join(log_dir, log_name + f'.log')
    logger = custom_log(os.path.join(output_dir, log_file), log_level)
return  logger

**二、生成logger实例** 

初始化完毕后,就可以生成一个logger实例,具体方法如下:

import logger

logger = create_logger()


**三、设定日志输出级别** 

我们可以使用 `logger.setLevel()` 来设定日志输出级别,它可以接受的参数值及含义如下:

| 参数值 | 含义 |
| :---- | :---- |
| `logger.DEBUG` | 调试级别,打印所有日志信息 |
| `logger.INFO` | 信息级别,打印关键信息 |
| `logger.WARNING` | 告警级别,打印需要人工干预的问题 |
| `logger.ERROR` | 严重级别,打印造成服务中断或性能问题的严重问题 |
| `logger.CRITICAL` | 紧急级别,打印造成服务宕机的紧急问题 |

示例:

import logger
logger = create_logger()
logger.setLevel(logger.DEBUG)


**四、输出日志信息** 

设定完毕日志输出级别后,就可以输出日志信息了,具体方法如下:

import logger
logger = create_logger()
logger.debug('Debug message')
logger.info('Info message')
logger.error('Error message')


**五、将日志信息保存到文件中** 

默认