首页 > 技术文章 > 【python企业级比学模块-logging】

gokublog 2021-01-28 22:48 原文

logging是一个python的自带模块,用来记录日志信息,大白话就是把你print()的东西输出到控制台console或者文件file

这是一个非常重要的模块,在我们眼中仅次于os和sys,下面将我自己封装的logging代码贴出来

  

# -*- coding: utf-8 -*-
import logging


def logger_handle(filename):
"""编程的方式logging的高级写法"""
# 1.设置记录器
logger = logging.getLogger('applog')
print("logger",logger)
print("type(logger)",type(logger))
logger.setLevel(logging.DEBUG)

# 2.设置处理器(没有给handler制定日志级别的时候,将使用记录器logger的级别)
# 控制台处理器
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logging.DEBUG)
# 文件处理器
fileHandler = logging.FileHandler(filename=filename)
fileHandler.setLevel(logging.DEBUG)

# 3.指定fomatter格式化日志
formatter = logging.Formatter("%(asctime)s|%(levelname)s|%(filename)s:%(lineno)s|%(message)s")

# 4.给处理器设置格式
# 控制台
consoleHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)

# 5.记录器关联处理器
if not logger.handlers:
logger.addHandler(consoleHandler)
logger.addHandler(fileHandler)

return logger
 logger = logger_handle('demo.log')
 logger.debug('this is a bug1')
 logger.debug('this is a bug2')
 logger.debug('this is a bug3')
 logger.debug('this is a bug4')
 logger.debug('this is a bug5')
 
# demo.log
2021-01-28 22:47:42,174|DEBUG|logger.py:33|this is a bug1 2021-01-28 22:47:42,175|DEBUG|logger.py:34|this is a bug22021-01-28 22:47:42,175|DEBUG|logger.py:35|this is a bug32021-01-28 22:47:42,176|DEBUG|logger.py:36|this is a bug42021-01-28 22:47:42,177|DEBUG|logger.py:37|this is a bug5

 

推荐阅读