在Python中使用日志功能,你可以利用内置的`logging`模块。以下是如何使用`logging`模块的基本步骤:
导入模块
import logging
配置日志
使用`basicConfig`方法配置日志记录器的基本设置,如日志级别、日志格式和处理器。
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(levelname)s - %(message)s',datefmt='%a, %d %b %Y %H:%M:%S')
定义日志级别
设置日志记录的级别,如DEBUG、INFO、WARNING、ERROR、CRITICAL。
logging.debug('This is a debug message')logging.info('This is an info message')logging.warning('This is a warning message')logging.error('This is an error message')logging.critical('This is a critical message')
记录日志
使用`logger`对象记录日志信息。
logger = logging.getLogger(__name__)logger.debug('Debug message')logger.info('Info message')logger.warning('Warning message')logger.error('Error message')logger.critical('Critical message')

自定义日志格式
你可以自定义日志格式,包括时间、日志级别、文件名和行号等信息。
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(pathname)s - %(lineno)s - %(message)s')fh = logging.FileHandler('app.log')fh.setFormatter(formatter)logger.addHandler(fh)
将日志输出到控制台
ch = logging.StreamHandler()ch.setFormatter(formatter)logger.addHandler(ch)
处理异常
在异常处理中使用`exception`方法记录异常信息。
try:1/0except Exception as e:logger.exception('An error occurred: %s', e)
创建自定义日志记录器
如果需要更复杂的配置,可以使用`logging.config`加载日志配置信息。
log_dict = {'version': 1,'disable_existing_loggers': False,'formatters': {'default': {'format': '%(asctime)s - %(name)s - %(levelname)s - %(pathname)s - %(lineno)s - %(message)s'}},'handlers': {'console': {'class': 'logging.StreamHandler','formatter': 'default','level': 'DEBUG'},'file': {'class': 'logging.FileHandler','formatter': 'default','level': 'DEBUG','filename': 'app.log'}},'loggers': {'': { root logger'handlers': ['console', 'file'],'level': 'DEBUG','propagate': False}}}logging.config(log_dict)
以上步骤展示了如何在Python中使用`logging`模块进行日志记录。你可以根据项目的需求调整日志级别、格式和处理方式
