在Python中设置日志框架可以通过以下几种方式进行:
使用`basicConfig`方法
import logginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s[%(levelname)s]%(message)s',handlers=[logging.FileHandler('app.log'),logging.StreamHandler()])logger = logging.getLogger(__name__)def divide(a, b):try:result = a / bexcept ZeroDivisionError:logger.error('Division by zero')return Noneelse:logger.debug('Division successful')return result
使用`dictConfig`方法
import loggingLOGGING = {'version': 1,'disable_existing_loggers': False,'formatters': {'default': {'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'},},'handlers': {'console': {'class': 'logging.StreamHandler','level': 'DEBUG','formatter': 'default',},'file': {'class': 'logging.FileHandler','level': 'DEBUG','formatter': 'default','filename': 'app.log',},},'loggers': {'': { root logger'handlers': ['console', 'file'],'level': 'DEBUG','propagate': False,},},}logging.config(LOGGING)logger = logging.getLogger(__name__)logger.debug('This is a debug message')logger.info('This is an info message')logger.warning('This is a warning message')logger.error('This is an error message')logger.critical('This is a critical message')
使用配置文件
创建一个名为`logging.conf`的文件,内容如下:
[loggers]keys=root[handlers]keys=consoleHandler,fileHandler[formatters]keys=defaultFormatter[logger_root]level=DEBUGhandlers=consoleHandler,fileHandler[handler_consoleHandler]class=logging.StreamHandlerlevel=DEBUGformatter=defaultFormatter[handler_fileHandler]class=logging.FileHandlerlevel=DEBUGformatter=defaultFormatterfilename=app.log
然后使用`fileConfig`方法加载配置:
import logginglogging.config('logging.conf')logger = logging.getLogger(__name__)logger.debug('This is a debug message')logger.info('This is an info message')logger.warning('This is a warning message')logger.error('This is an error message')logger.critical('This is a critical message')
以上是Python日志框架的基本设置方法。您可以根据需要调整日志级别、格式、输出目的地(控制台或文件)等。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/72060.html