django - 日志相关

1. 配置及使用

1. setting.py中配置
# log_settings
# 创建一个日志文件夹
LOGGING_DIR = "%s/logs" % BASE_DIR if not os.path.exists(LOGGING_DIR): os.mkdir(LOGGING_DIR)
# 将日志起名为django,放在logs文件夹内 log_filename
= '%s/django.log' % LOGGING_DIR LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'} # 日志格式 }, 'filters': { }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True, }, 'default': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': log_filename, # 日志输出文件 'maxBytes': 1024 * 1024 * 5, # 文件大小 'backupCount': 5, # 备份份数 'formatter': 'standard', # 使用哪种formatters日志格式 }, 'error': { 'level': 'ERROR', 'class': 'logging.handlers.RotatingFileHandler', 'filename': log_filename, 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter': 'standard', }, 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'standard' }, 'request_handler': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': log_filename, 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter': 'standard', }, 'scprits_handler': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': log_filename, 'maxBytes': 1024 * 1024 * 5, 'backupCount': 5, 'formatter': 'standard', } }, 'loggers': { 'django': { 'handlers': ['default', 'console'], 'level': 'DEBUG', 'propagate': False }, 'django.request': { 'handlers': ['request_handler'], 'level': 'DEBUG', 'propagate': False, }, 'scripts': { 'handlers': ['scprits_handler'], 'level': 'INFO', 'propagate': False }, 'sourceDns.webdns.views': { 'handlers': ['default', 'error'], 'level': 'DEBUG', 'propagate': True }, 'sourceDns.webdns.util': { 'handlers': ['error'], 'level': 'ERROR', 'propagate': True } } }

2. 使用
logger = logging.getLogger('django')
logger.info('需要打印的日志')

2. 出现的问题

1. 本地日志可以成功打印,但是服务器却不能
  原因:之前生成的pyc文件没有使用最新的代码,解决方式,清除文件夹(不能使用覆盖的方式),重新传代码

2. linux中启动python manage.py runserver &,关掉xshell终端之后,进行就是被关掉
  解决方式:加nohup
  nohup python manage.py runserver 0.0.0.0:8000 &

 

posted @ 2021-09-15 19:40  10132714  阅读(32)  评论(0编辑  收藏  举报