2016-09-14 93 views
2

我閱讀所有StackOverflow答案,關於該主題的所有博客文章,並嘗試了兩次,但我仍然無法讓我的Django應用程序的日誌消息出現在heroku日誌中(Django自己的消息確實出現)。Django + heroku:django日誌出現,應用程序日誌不

任何人都可以粘貼一個完整的日誌配置,在heroku中工作?

# views.py 
import logging 
logger = logging.getLogger(__name__) 

def a_view(request): 
    # ... 
    logger.exception('error finding file') 
    # ... 

有:

# settings.py 
LOGGING = { 
    "version": 1, 
    "disable_existing_loggers": False, 
    'formatters': { 
     'simple': { 
      'format': '%(levelname)s [%(name)s:%(lineno)s] %(message)s' 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'INFO', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple', 
      "stream": sys.stdout 
     }, 
    }, 
    "loggers": { 
     "root": { 
      "handlers": ["console"], 
     }, 
     # last try :(
     "myapp": { 
      "handlers": ["console"], 
     }, 
     "django": { 
      "handlers": ["console"], 
     } 
    } 
} 

回答

2

這裏是爲我工作的配置(OP):

LOGGING = { 
    "version": 1, 
    "disable_existing_loggers": False, 
    'formatters': { 
     'simple': { 
      'format': '%(levelname)s [%(name)s:%(lineno)s] %(message)s' 
     }, 
    }, 
    'handlers': { 
     'console': { 
      'level': 'INFO', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple', 
      "stream": sys.stdout 
     }, 
    }, 
    "loggers": { 
     "": { 
      "handlers": ["console"], 
      'level': 'INFO', 
     }, 
     "django": { 
      "handlers": ["console"], 
      'level': 'INFO', 
     } 
    } 
} 

是由不同的是改變這一切的logger級別的修改,但在此之前,我將"root"更改爲"",因此可能也需要。

編輯:刪除「myapp」記錄器,因爲它被「」記錄器捕獲,解決了我的雙重記錄問題。