2012-06-11 16 views
5

Oto, co próbowałem. W moim view.py plikuDlaczego logowanie nie działa w witrynie django?

import logging 
logger = logging.getLogger("mylog") 
logging.basicConfig(format='%(name)s:%(levelname)s:%(message)s',level=logging.INFO,datefmt='%d/%m/%y %I:%M:%S') 

Następnie wewnątrz funkcji,

logger.debug("this is an error") 
logger.warning("This is a warning") 
print "This is a test line ' 

ja nie dotknął settings.py .its plików niemal tak samo.

LOGGING = { 

    'version': 1, 

    'disable_existing_loggers': False, 

    'handlers': { 

     'mail_admins': { 

      'level': 'ERROR', 

      'class': 'django.utils.log.AdminEmailHandler' 

     } 

    }, 

    'loggers': { 

     'django.request': { 

      'handlers': ['mail_admins'], 

      'level': 'ERROR', 

      'propagate': True, 

     }, 

    } 

Po uruchomieniu serwera i wywołaniu funkcji nic się nie dzieje. bez błędu, nic.

Po prostu chcę zobaczyć linię dziennika na konsoli.

+2

Twoja konfiguracja ma "poziom": "BŁĄD" i dzwonisz do logging.warning() i logging.debug() ... więc nie powinno nic robić. – jpic

Odpowiedz

10

warto dodać to do ładowarki:

'console':{ 
      'level':'DEBUG', 
      'class':'logging.StreamHandler', 
      'formatter': 'simple' 
      } 

oraz w rejestratorów:

'django': { 
     'handlers':['console'], 
     'propagate': True, 
     'level':'INFO', 
    }, 

Poziom dziennika mogą być takie same lub różne - W rzeczywistości obsługi określa minimalny poziom będzie to dziennik, podczas gdy program rejestrujący określa minimalny poziom, który zostanie wysłany do programu obsługi. Jeśli jeden program obsługi jest używany przez dwa lub więcej rejestratorów, najlepiej powinien mieć najniższy poziom z obu rejestratorów.

EDYCJA: Dzięki @jpic za wskazanie sekcji rejestratorów.

+0

Czy nie potrzebujesz również programu rejestrującego, który korzysta z tego programu obsługi? – jpic

+0

@jpic: Dzięki za przypomnienie o rejestratorze, zredagowałem tekst. – Tisho

+0

Dziękuję wszystkim. Informacje były bardzo przydatne. Jednak znalazłem błąd, który z powodu żadnego z tych czynników. W folderze "conf" miałem inny plik ustawień local_setting.py. Została zadeklarowana inna konfiguracja dziennika. Skomentowałem tę linię i ku mojemu zdziwieniu wszystko zaczęło działać (wszystkie ustawienia i kod w widoku pliku pozostały niezmienione). Myślę, że jest to jakiś konflikt spowodowany wielokrotną deklaracją konfiguracji logów –

Powiązane problemy