# 项目运行,会产生很多日志
# 日志作用:记录程序运行过程中 错误,警告,程序员的输出,观察项目运行情况
# 每个项目都需要记录日志
# django中加入记录日志的功能
1 把如下代码,copy到配置文件中
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': { #输出的格式
'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
},
'simple': { #输出的格式
'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': { #打印在控制台的
# 实际开发建议使用WARNING
'level': 'WARNING',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': { #写在文件中的
# 实际开发建议使用ERROR
'level': 'ERROR',
'class': 'logging.handlers.RotatingFileHandler',
# 日志位置,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR代表的是小luffyapi
'filename': os.path.join(os.path.dirname(BASE_DIR), "logs", "luffy.log"),
# 日志文件的最大值,这里我们设置300M
'maxBytes': 300 * 1024 * 1024,
# 日志文件的数量,设置最大日志数量为10
'backupCount': 10,
# 日志格式:详细格式
'formatter': 'verbose',
# 文件内容编码
'encoding': 'utf-8'
},
},
# 日志对象
'loggers': {
'django': {
'handlers': ['console', 'file'],
'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
},
}
}
2 获取logger对象:utils/common_logger.py
# 日志对象获取,以后想用日志的地方,直接导入,使用 logger.info error....
import logging
logger=logging.getLogger('django')
3 以后想用日志的地方,直接导入使用即可
# DEBUG < INFO < WARNING < ERROR < CRITICAL
logger.debug('debug级别')
logger.info('info级别')
logger.warning('warning级别')
logger.error('error级别')
logger.critical('CRITICAL级别')
4 以后想用print的位置,都用logger.info,以后项目上线,调高日志输出级别,虽然代码中写了日志输出,实际上并不会输出
日志----封装logger
最新推荐文章于 2024-11-13 15:38:21 发布
文章介绍了如何在Django项目中配置日志,包括设置日志级别、格式、过滤器和处理器,以及如何在代码中使用logger对象进行不同级别的日志输出,强调了日志在调试和监控项目运行状态中的重要性。
514

被折叠的 条评论
为什么被折叠?



