logging.basicConfig()
logging.basicConfig()
是 Python 标准库 logging
模块中的一个函数,用于配置日志记录器(logger)的基本选项。这个函数允许你在不创建和配置多个 logger、handler 和 formatter 的情况下,快速地为你的应用程序设置日志记录。
以下是一些 basicConfig()
的常见参数:
filename
: 指定日志应写入哪个文件。如果指定了这个参数,日志将被写入文件,而不是打印到控制台。filemode
: 如果指定了filename
,则此参数定义文件打开模式(例如 'w' 表示写入模式,'a' 表示追加模式)。默认为 'a'。format
: 定义日志消息的格式。默认为'%(levelname)s:%(message)s'
。datefmt
: 定义日期/时间的格式。默认情况下,日期/时间不会包含在日志消息中。level
: 设置日志的级别。例如,logging.DEBUG
会记录所有级别的日志(包括 DEBUG、INFO、WARNING、ERROR 和 CRITICAL),而logging.WARNING
只记录 WARNING 及以上级别的日志。默认为logging.WARNING
。stream
: 指定日志应写入哪个流对象(例如,一个文件对象或sys.stderr
)。如果指定了这个参数,则不会使用filename
参数。handlers
: 如果已经创建了处理程序(handler),则可以将它们作为此参数的列表传递。
下面是一个使用 logging.basicConfig()
的简单示例:
import logging logging.basicConfig( level=logging.DEBUG, # 设置日志级别 format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', # 设置日志格式 datefmt='%Y-%m-%d %H:%M:%S', # 设置日期时间格式 filename='app.log', # 指定日志文件名为 'app.log' filemode='w' # 写入模式,'w' 表示每次运行程序时覆盖日志文件,'a' 表示追加到日志文件 ) logger = logging.getLogger(__name__) logger.debug('这是一个调试消息') logger.info('这是一个信息消息') logger.warning('这是一个警告消息') logger.error('这是一个错误消息') logger.critical('这是一个严重消息')
在这个示例中:
level=logging.DEBUG
:设置日志级别为DEBUG
,这意味着所有DEBUG
级别或更高级别的消息都会被记录。format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
:指定日志消息的格式。datefmt='%Y-%m-%d %H:%M:%S'
:指定日志消息中的日期时间格式。filename='app.log'
:指定日志消息应该写入名为app.log
的文件。filemode='w'
:指定每次运行程序时覆盖日志文件。使用'a'
可以将日志追加到文件中。
通过这种方式配置日志记录系统,可以轻松地控制日志消息在整个应用程序中的处理方式。