我需要有关记录器处理程序的帮助。我需要在这个函数中添加信息级别的控制台处理程序和调试级别的文件处理程序,但我做不到
def create_logger() -> logging.Logger:
logging.basicConfig(
filename=RESOURCES / 'ass_3.log',
format='%(asctime)s | %(name)s | %(levelname)-5s | %(message)s',
datefmt="%Y-%m-%d %H:%M:%S",
filemode='w',
level=logging.DEBUG)
return logging.getLogger('ass_3_logger')
为什么不直接导入记录器并加载这样的logger.config:
import logging
import logging.config
logging.config.fileConfig(fname='file.conf',
disable_existing_loggers=False)
# Get the logger specified in the file
logger = logging.getLogger(__name__)
logger.debug('This is a debug message')
作为记录器配置,使用如下内容:
[loggers]
keys=root,sampleLogger
[handlers]
keys=consoleHandler
[formatters]
keys=sampleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_sampleLogger]
level=DEBUG
handlers=consoleHandler
qualname=sampleLogger
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=sampleFormatter
args=(sys.stdout,)
[formatter_sampleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s