我正在尝试创建一个自定义日志记录器,如下面的代码所示。但是,无论我传递什么级别给函数,日志记录器只会打印警告消息。例如,即使我将参数level = logging.DEBUG设置为默认值,我的代码也无法记录调试或信息消息。有人能指出这里的问题吗。
import boto3
import logging
def get_logger(name=__name__, level=logging.DEBUG):
# Create log handler
logHandler = logging.StreamHandler()
logHandler.setLevel(level)
# Set handler format
logFormat = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%d-%b-%y")
logHandler.setFormatter(logFormat)
# Create logger
logger = logging.getLogger(name)
# Add handler to logger
logger.addHandler(logHandler)
# Stop propagating the log messages to root logger
# logger.propagate = False
return logger
def listBuckets():
logThis = get_logger(level=logging.DEBUG)
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
logThis.debug(msg='This message is from logger')
print(bucket.name)
listBuckets()
get_logger
函数返回的logThis
变量进行记录日志,其次,请勿将变量命名为type
,因为type
是 Python 中的关键字。 - Ankit Jaiswal