django 日志配置使用
官方文档
配置
日志中可以使用的变量
配置的模板
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': '/path/to/django/debug.log', }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'DEBUG', 'propagate': True, }, }, }
配置范例
from django.conf import settings LOG_DIR = os.path.join(settings.BASE_DIR, 'logs') os.makedirs(LOG_DIR, exist_ok=True) LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'verbose': { # 'format': '{levelname} {asctime} {module} {process:d} {thread:d} {filename} {lineno:d} {message}', 'format': '-------------\n' 'time: {asctime}\n' 'level: {levelname}\n' 'module: {module}\n' 'filename: {filename}\n' 'funcName: {funcName}\n' 'line: {lineno:d}\n' 'message: {message}\n', 'style': '{', }, 'simple': { 'format': '{levelname} {asctime} {message}', 'style': '{', }, 'api': { 'format': "-------------\n{asctime} {message}", 'style': '{', }, }, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', }, }, 'handlers': { 'console': { 'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'simple' }, 'api_file': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotatingFileHandler', 'when': 'MIDNIGHT', 'backupCount': 30, 'filename': os.path.join(LOG_DIR, 'api.log'), 'formatter': 'api', }, 'request_file': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotatingFileHandler', 'when': 'MIDNIGHT', 'backupCount': 30, 'filename': os.path.join(LOG_DIR, 'request.log'), 'formatter': 'verbose', }, 'task_file': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotatingFileHandler', 'when': 'MIDNIGHT', 'backupCount': 30, 'filename': os.path.join(LOG_DIR, 'task.log'), 'formatter': 'verbose', }, }, 'loggers': { 'django': { 'handlers': ['console'], 'level': 'INFO', 'propagate': True, }, 'django.server': { 'handlers': ['console'], 'level': 'INFO', 'propagate': False, }, 'django.request': { 'handlers': ['console'], 'level': 'INFO', 'propagate': False, }, 'my_api': { 'handlers': ['api_file'], 'level': 'INFO', 'propagate': False, }, 'my_request': { 'handlers': ['request_file'], 'level': 'INFO', 'propagate': False, }, 'my_task': { 'handlers': ['task_file'], 'level': 'INFO', 'propagate': False, } } }
日志级别
日志使用
# import the logging library import logging # Get an instance of a logger logger = logging.getLogger(__name__) def my_view(request, arg1, arg): ... if bad_mojo: # Log an error message logger.error('Something went wrong!')
本文来自博客园,作者:羊驼之歌,转载请注明原文链接:https://www.cnblogs.com/shijieli/p/16454532.html