Próbuję debugować ten kod. W tym celu próbuję użyć rejestrowania po Ten samouczek. W tym celu wkładam ten kod w moim skrypcie:

import logging

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

logging.debug('This is a log message.')

W sekcji, w której chciałem uzyskać rejestrowanie wiadomości, wstawiłem linię: logging.debug ('This is a log message.') w ten sposób:

def fcount(self,f,cat):
    res = db.GqlQuery("SELECT * FROM fc WHERE feature =:feature AND category =:category", feature = f, category = cat).get()
    logging.debug('This is a log message.')
#    res=self.con.execute(
#      'select count from fc where feature="%s" and category="%s"'
#      %(f,cat)).fetchone()
    if res is None: return 0
    else:
        res = fc.count
        return float(res)

Okazuje się, że moja aplikacja jest aplikacją GAE. I nie widzę wiadomości rejestrowania, który nie pojawia się w przeglądarce ani w Pyscripter IDE. Gdzie powinienem zobaczyć ekran za pomocą wiadomości rejestrowania?

PS - Próbowałem użyć tego kodu, aby przemianem zapisać wiadomości rejestrowania do pliku:

import logging
logging.basicConfig(filename='log_filename.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.') 

Ale znajduję jeden błąd we / wy.

1
craftApprentice 14 sierpień 2012, 04:35

2 odpowiedzi

Najlepsza odpowiedź

Czy próbujesz uruchomić rejestrator w silniku Google App, czy nie działa na swojej lokalnej maszynie? Jeśli nie działa na Gae, to dlatego, że ustawisz rejestrator do zapisu do pliku, a GAE naprawdę nie pozwala uzyskać dostępu do systemu plików.

W przypadku dziennika opartego na pliku znajdziesz dzienniki w konsoli administracyjnej GAE. (Na swoim lokalnymhost znajduje się w

http://localhost:8080/_ah/admin

Zobacz https://developers.google.com/appengine/articles/logging na temat tego, jak Użyj modułu rejestrowania działającego na GAE.

1
Wulfram 14 sierpień 2012, 01:35

Nie mogę podać szczegółów o Pyscripter, ale musisz ustawić IDE, aby przekazać flagę -d (lub --debug) do dev_appserver.py. To umożliwia kłody DEBUG, w przeciwnym razie zobaczysz tylko komunikaty o poziomie INFO lub nowsze.

Więc możesz spróbować:

logging.info('This is a log message.')
1
Sebastian Kreft 14 sierpień 2012, 01:38