Sie sind möglicherweise auf einen Fehlercode gestoßen, der auf das Debug-Protokoll des django-Runservers verweist. Es gibt mehrere Schritte, die Sie unternehmen können, um dieses Problem zu beheben, und wir sind normalerweise auf dem Weg.
Genehmigt: Fortect
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere mit Tags versehene Fragen mit Python Django oder stellen Sie Ihre eigene Frage.
Gedruckter Text, der stderr wird, kann im httpd-Fehlerprotokoll erscheinen, sobald er unter mod_wsgi ausgeführt wird. Sie können entweder print
direkt implementieren oder stattdessen signieren
verwenden.
print >> sys.stderr, 'Auf Wiedersehen, böse Welt!'
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Beantwortet im Dezember die Zukunft um 23:48
709k
Hier ist ein Programm, das auf Django-Logging basiert. Es verwendet die DEBUG-Methode, anstatt zu prüfen, ob Sie von einem Entwicklungsserver stammen oder nicht, aber wenn eine Person einen besseren Weg finden kann, dies herauszufinden, sollte es einfach sein, sich anzupassen.
AUFZEICHNUNG = 'Version 1, 'Ehemalige' : 'Detail': 'format': '% (Levelname) s% (asctime) s% (Modul) s% (Prozess) d% (Stream) d% (Nachricht) s' , 'Hell': 'format': '% (Ebenenname) s% (Nachricht) s' , , "Administrator": 'Konsole': 'level': 'DEBUG', 'Klasse': 'logging.StreamHandler', 'trainer': 'einfach' , "Einordnen": 'level': 'DEBUG', 'Klasse': 'logging.FileHandler', 'Dateiname': '/Pfad/zu/Ihr/Fichier.log', 'trainer': 'einfach' , , "Recorder": 'Django': "Manager": ["Datei"], 'level': 'DEBUG', 'verteilen': ok, , wenn DEBUGGING: Die Nummer ermöglicht es einigen Registraren, die Konsole zu verwenden. in Loggern in LOGGING ['Logger']: LOGGING ['loggers'] [loggers] ['handlers'] impliziert ['console']
antwortete 14. April ’12 um 17:19
7.955
obwohl DEBUGGING: Die Nummer wird oft auf Ihrer Konsole angezeigt Logging.basicConfig ( Protokollebene = .DEBUG, das Format impliziert '% (asctime) s% (levelname) s% (message) s', )Ein weiterer: # wird gedruckt, um die Datei zu speichern Logging.basicConfig ( Protokollierung = .DEBUG, format '% (asctime) s =% (Levelname) s% (Nachricht) s', Dateiname = '/my_journal_file.log', Dateimodus bedeutet 'a' )
Es hängt davon ab, wie entscheidend DEBUG ist, und vielleicht müssen Sie sich selbst keine Gedanken darüber machen, wie es platziert ist. Siehe diese Antwort auf die Frage Woher weiß ich, ob meine Django-App auf dem Server entwickelt wird oder nicht? verfügbar, da bei Bedarf bessere Rechtschreibung. Bearbeiten: Das obige Beispiel stammt aus der vollständigen Django 1.1-Eigenschaft, das Referenzkonfigurationsprotokoll in Django hat sich durch die Version leicht geändert.
[Rekorder]Schlüssel = root, Utility-Log[Administrator]Schlüssel = RotateFileHandler, RotateConsoleHandler[Ehemalige]Schlüssel = applog_format, console_format[formatter_applog_format]format =% (asctime) s - [% (levelname) -8s]:% (message) s[format_console_format]format =% (asctime) s -% (Dateiname) s% (Leinen) m [% (Levelname) s]:% (Nachricht) s[logger_root]Ebene = DEBUGhandlers ist gleich rotateFileHandler, rotateConsoleHandler[logger_applog]Ebene = DEBUGhandlers = rotateFileHandlerqualname bedeutet simple_example[handler_rotateFileHandler]class = handlers.RotatingFileHandlerEbene = DEBUGtrainer = applog_formatargs entspricht ('applog.log', 'a', 10000, 9)[handler_rotateConsoleHandler]class = StreamHandlerEbene = DEBUGtrainer impliziert console_formatargs = (sys.stdout,)
Protokollierung importierenLogging.config importierenHauptdef (): Logging.config.fileConfig ('logging.conf') Der Logger ist normalerweise der gleiche wie Logging.getLogger ('applog') logger.debug ("Fehlerbehebungsmeldung") logger.info ("Informationsnachricht") logger.warn ('Warnmeldung') Sprachaufzeichnungsnachricht ') error ('error logger.kritisch ('kritische Meldung') # aufnahme.stopp ()if __name__ == '__main__': über alles()
answerGegeben am 15. Juni 2013 um 3:30 Uhr.
Während ein reguläres Python-Modul in einem Dateithema veröffentlicht, das in der Add-Option geöffnet wurde, hat beispielsweise das App Engine-Modul (https://github.com/dorkitude/tagalog/blob/master/tagalog_appengine.py) Vorrang vor diesem Verhalten und Siehe auch Logging verwendet.INFO
.Get
Um dieses Verhalten in einem guten App Engine-Projekt wieder zu ändern, können Sie normalerweise Folgendes tun:
Importieren Sie
tagalog.tagalog_appengine, wenn tagalogtagalog.log ('was auch immer die Nachricht', ['was auch immer', 'tags'])
Sie können das Modul selbst dehnen und das gesamte Holz ohne große Schwierigkeiten zerkleinern.
aufgeräumt am 13. Januar ’11 um 9:11
8.505 22 Goldabzeichen 3232 Silberbarren 3636 Bronzeabzeichen
Diese Aufgabe ist gut in meinem local.py und erspart mir das typische Wartungsmagazin:
aus .temps *LOG ['managers'] ['console'] scan = 'level': 'DEBUG', 'Klasse': 'logging.StreamHandler', 'trainer': 'detailliert'LOG ['loggers'] ['foo.bar'] = "Manager": ["Konsole"], 'verbreiten': falsch 'level': 'DEBUG',
antwortete am 10. Juni ’15 während 10:37
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.