Vous avez peut-être rencontré un code d’erreur pointant généralement vers le journal de débogage django runserver. Il y a plusieurs étapes qu’une personne peut prendre pour résoudre ce problème et tout le monde est sur notre chemin.
Approuvé : Fortect
Pas la réponse que vous cherchez ? Parcourez d’autres questions étiquetées avec Python Django ou posez votre propre question.
Le texte imprimé de stderr peut apparaître dans l’enregistrement d’erreur httpd lorsqu’il est exécuté sous mod_wsgi. Vous pouvez soit utiliser imprimer
directement, soit utiliser portant
à la place.
print >> sys.stderr, 'Au revoir le monde dur !'
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
Réponse déc. 2010 à 23:48
709k
Voici toute sorte de solution basée sur la journalisation Django. Il utilise une partie de la méthode DEBUG au lieu de vérifier si vous êtes normalement sur un serveur de développement ou non, mais au cas où vous pourriez trouver un meilleur moyen de sortir, il devrait être facile de s’adapter.
LOGGING = 'Version 1, 'Ancien' : 'détail': 'format': '% (nom du niveau) s% (asctime) s% (module) s% (process) d% (stream) d% (message) s' , 'Léger': 'format' : '% (nom du niveau) s% (message) s' , , "Administrateur": 'Console': 'niveau': 'DEBUG', 'Classe' : 'logging.StreamHandler', 'formateur': 'simple' , "A déposer" : 'niveau': 'DEBUG', 'Classe' : 'logging.FileHandler', 'Nom du fichier' : '/Chemin/vers/Votre/Fichier.log', 'formateur': 'simple' , , "Enregistreur": 'Django' : "Gestionnaire": ["Fichier"], 'niveau': 'DEBUG', 'distribuer' : d'accord, , si DÉBOGAGE : Le numéro permet à l'ensemble des bureaux d'enregistrement d'utiliser la console. à cause des loggers dans LOGGING ['loggers'] : LOGGING ['loggers'] [loggers] ['handlers'] équivaut à ['console']
répondu le 14 avril ’12 situé le 17:19
7.955
si ou quand DEBOGAGE : Le numéro devrait pouvoir s'afficher sur votre console Logging.basicConfig ( Niveau de log = .DEBUG, le format affiche '% (asctime) s% (levelname) s% (message) s', )un autre: # est publié pour aider à enregistrer le fichier Logging.basicConfig ( Journalisation = .DEBUG, format '% (asctime) s i9000 =% (levelname) s% (message) s', Nom de fichier = '/mon_fichier_journal.log', Stratégie de fichier = 'a' )
Cela dépend du degré de décision de DEBUG, et il est possible que vous n’ayez pas à vous soucier de la façon dont il peut être construit. Voir cette réponse à la question Comment savoir si mon application Django est généralement en développement sur le serveur ou non ? sur le marché pour une meilleure orthographe si nécessaire. Edit : L’exemple de frais généraux est tiré du projet Django 1.1 complet, le journal de configuration de référence dans Django a quelque peu changé par rapport à la version.
[enregistreur]clés = réel, journal d'application[Administrateur]keys = rotateFileHandler, rotateConsoleHandler[Ancien]clés = applog_format, console_format[formatter_applog_format]format =% (asctime) s - [% (levelname) -8s]:% (message) s[format_console_format]format =% (asctime) s -% (filename) s% (linen) deborah [% (levelname) s]:% (message) s[logger_root]niveau = DEBUGgestionnaires = rotateFileHandler, rotateConsoleHandler[logger_applog]niveau = DEBUGgestionnaires = rotateFileHandlerqualname signifie simple_example[handler_rotateFileHandler]classe = gestionnaires.RotatingFileHandlerniveau = DEBUGformateur = applog_formatargs équivaut à ('applog.log', 'a', 10000, 9)[handler_rotateConsoleHandler]classe = StreamHandlerniveau = DEBUGformateur = console_formatargs = (sys.stdout,)
Importation de journalImporter Logging.configdéfinition principale (): Logging.config.fileConfig ('logging.conf') L'enregistreur est le même que Logging.getLogger ('applog') logger.debug ("message de correction de bogue") logger.info ("message d'information") logger.warn ('message d'avertissement') fréquence de l'enregistreur vocal ') error ('error logger.critical ('message critique') # enregistrement.arrêt ()if __name__ == '__main__' : par dessus tout()
réponse Donnée le 15 juin 2013 à 03h30.
Alors qu’une partie Python standard écrit dans un sujet de fichier ouvert en mode production, par exemple le composant App Engine (https://github.com/dorkitude/tagalog/blob/master/tagalog_appengine.py) remplace ce comportement et Voir aussi Logging utilisé.INFO
.Get
Pour modifier cette pratique dans tout bon projet App Engine, vous pouvez également facilement procéder comme suit :
Importer
tagalog.tagalog_appengine par rapport à tagalogtagalog.log ('quel que soit le message', ['quel que soit', 'tags'])
Vous pouvez étirer le module vous-même et écraser le bois sans trop de difficulté.
répondu le 13 janvier ’11 à 9:11
8.505
Cette tâche est d’assez bonne qualité dans mon local.py, ce qui m’évite d’attribuer une maintenance régulière Magazine :
dans .settings *LOG ['gestionnaires'] ['console'] scan = 'niveau': 'DEBUG', 'Classe' : 'logging.StreamHandler', 'formateur': 'détaillé'LOG ['loggers'] ['foo.bar'] = "Gestionnaire" : ["Console"], 'propagation' : faux 'niveau': 'DEBUG',
répondu le 10 juin ’15 avec 10:37
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.