2016-09-14 2 views
2

Ich lese alle StackOverflow-Antworten, alle Blog-Beiträge zu diesem Thema und habe alles zweimal versucht, aber ich kann immer noch nicht die Log-Meldungen meiner Django-App anzeigen lassen im Heroku-Log (Djangos eigene Nachrichten erscheinen).Django + heroku: Django-Logs erscheinen, App-Logs nicht

Kann jemand bitte fügen Sie eine vollständige LOGGING Config, die in Heroku funktioniert?

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

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

mit:

# 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"], 
     } 
    } 
} 

Antwort

2

Hier ist eine Konfiguration, die für mich gearbeitet (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', 
     } 
    } 
} 

Die Änderung, dass der Unterschied gemacht wird, um den Pegel aller Logger verändern, aber vorher habe ich "root" zu "" geändert, also könnte das auch gebraucht worden sein.

edit: entfernt "myapp" Logger, wie es von "" Logger erfasst wird, löste meine Doppel-Logging-Problem.