四个组件
- Loggers: 日志记录的处理类/对象,一个 Logger 可以有多个 Handlers
- Handlers:对于每一条日志消息如何处理,记录到文件、控制台,还是网络
- Filters:定义过滤器,用于 Logger/Handler 之上
- Formmaters:定义日志文本记录的格式
日志级别
- DEBUG:调试
- INFO:常用的系统信息
- WARNING::小的告警,不影响主要功能
- ERROR:系统出现不可忽视的错误
- CRITICAL:非常严重的错误
示例:自定义日志与系统日志输出到文件与控制台
在 settings.py 文件中加入下面代码
LOGGING = {'version': 1, # python 统一固定用法'disable_existing_loggers': False, # 是否禁用系统里的其他 Logger,默认 False'formatters': {'simple': {'format': '%(asctime)s %(name)-12s %(lineno)d %(levelname)-8s %(message)s',},},'handlers': {'console': {'class': 'logging.StreamHandler','formatter': 'simple',},'file': {'class': 'logging.handlers.RotatingFileHandler','maxBytes': 1024 * 1024 * 5, # 文件大小'backupCount': 5, # 备份份数'formatter': 'simple', # 使用哪种formatters日志格式# 日志输出文件 项目的上一级目录,可自定义'filename': os.path.join(os.path.dirname(BASE_DIR), 'admin.log')}},# root 是系统全局级别默认 logger 可以通过 logging.getLogger(__name__) 获取'root': {'handlers': ['console', 'file'],'level': 'INFO',},}
