返回
用Logger轻松掌握各种日志级别和输出方法
人工智能
2023-10-05 03:47:36
**掌握日志输出的各种姿势**
在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')
**五、将日志信息保存到文件中**
默认