Protokollierer in Django

8

Aus der Django-Dokumentation folgt hier ein Beispiel für die Protokollierung:

> %Vor%

Dies druckt so etwas wie:

  

FEHLER 2012-05-22 14: 33: 07.261 Ansichten 42892 4398727168 Hallo

Gibt es eine Liste von Elementen, die Sie in die Zeichenfolgenformatierung aufnehmen können? Ich möchte zum Beispiel die Funktion und die App sehen, wo die Nachricht erstellt wird, zum Beispiel:

  

FEHLER Zeit myproject.myapp.views.login_function Nachricht

    
David542 22.05.2012, 21:40
quelle

3 Antworten

9
___ qstnhdr ___ Protokollierer in Django ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123django ___ Django ist ein serverseitiges Open-Source-Webanwendungs-Framework, das in Python geschrieben wurde. Es wurde entwickelt, um den Aufwand für die Erstellung komplexer datengesteuerter Websites und Webanwendungen zu reduzieren, mit besonderem Fokus auf weniger Code, keine Redundanz und expliziter als implizit. ___ tag123logging ___ Computerdatenprotokollierung ist der Prozess der Aufzeichnung von Ereignissen in einem Computerprogramm, normalerweise mit einem bestimmten Umfang, um einen Audit-Trail bereitzustellen, der verwendet werden kann, um die Aktivität des Systems zu verstehen und Probleme zu diagnostizieren. ___ answer26276689 ___

Aus Dokumentation zum Python-Protokollierungsmodul :

  • asctime : %code%
    Vom Menschen lesbare Zeit, zu der die %code% erstellt wurde. Standardmäßig hat dies die Form '2003-07-08 16: 49: 45,896' (die Zahlen nach dem Komma sind ein Millisekunden-Teil der Zeit).

  • erstellt : %code%
    Zeitpunkt, zu dem %code% erstellt wurde (wie von %code% ).

  • Dateiname : %code%
    Dateiname Teil von Pfadname .

  • Funktionsname : %code%
    Name der Funktion, die den Protokollierungsaufruf enthält.

  • Ebenenname : %code% Textprotokollierungsstufe für die Nachricht ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').

  • levelnr : %code%
    Numerische Protokollierungsstufe für die Nachricht (DEBUG, INFO, WARNING, ERROR, CRITICAL).

  • lineno : %code%
    Nummer der Quellzeile, an der der Protokollierungsaufruf ausgegeben wurde (falls verfügbar).

  • Modul : %code%
    Modul (Name Teil von Dateiname ).

  • msecs : %code%
    Millisekunde Teil der Zeit, als die %code% erstellt wurde.

  • Nachricht : %code%
    Die protokollierte Nachricht, berechnet als %code% . Dies wird festgelegt, wenn %code% aufgerufen wird.

  • Name : %code%
    Name des Loggers, der zum Protokollieren des Anrufs verwendet wird.

  • Pfadname : %code%
    Vollständiger Pfadname der Quelldatei, in der der Protokollierungsaufruf ausgegeben wurde (falls verfügbar).

  • Prozess : %code%
    Prozess-ID (falls verfügbar).

  • Prozessname : %code%
    Prozessname (falls verfügbar).

  • relativeCreated : %code%
    Zeit in Millisekunden, wenn die %code% erstellt wurde, relativ zur Uhrzeit des Protokollierungsmoduls wurde geladen.

  • thread : %code%
    Thread-ID (falls verfügbar).

  • threadName : %code%
    Name des Threads (falls verfügbar).

Die folgenden Argumente stehen auch für %code% zur Verfügung sind nicht dazu gedacht, in die Formatzeichenfolge aufgenommen zu werden:

  • Argumente :
    Das Tupel der Argumente wurde zu msg zusammengefügt, um eine Nachricht zu erzeugen.

  • exc_info :
    Ausnahme-Tupel (à la %code% ) oder, falls keine Ausnahme aufgetreten ist, %code% .

  • msg :
    Die Formatzeichenfolge, die beim ursprünglichen Protokollierungsaufruf übergeben wurde. Zusammengeführt mit args , um eine Nachricht oder ein beliebiges Objekt zu erzeugen (siehe Verwenden beliebiger Objekte als Nachrichten ).

___ qstntxt ___

Aus der Django-Dokumentation folgt hier ein Beispiel für die Protokollierung:

> %Vor%

Dies druckt so etwas wie:

  

FEHLER 2012-05-22 14: 33: 07.261 Ansichten 42892 4398727168 Hallo

Gibt es eine Liste von Elementen, die Sie in die Zeichenfolgenformatierung aufnehmen können? Ich möchte zum Beispiel die Funktion und die App sehen, wo die Nachricht erstellt wird, zum Beispiel:

  

FEHLER Zeit myproject.myapp.views.login_function Nachricht

    
___ answer30839172 ___

Schritt 1. Bearbeiten Sie Ihre Datei settings.py

%Vor%

Schritt2. Sie sollten Logger in Ihrer Codierung wie folgt verwenden:

%Vor%

Hoffe das hilft dir!

    
___
David542 22.05.2012, 21:41
quelle
20

Aus Dokumentation zum Python-Protokollierungsmodul :

  • asctime : %(asctime)s
    Vom Menschen lesbare Zeit, zu der die LogRecord erstellt wurde. Standardmäßig hat dies die Form '2003-07-08 16: 49: 45,896' (die Zahlen nach dem Komma sind ein Millisekunden-Teil der Zeit).

  • erstellt : %(created)f
    Zeitpunkt, zu dem LogRecord erstellt wurde (wie von time.time() ).

  • Dateiname : %(filename)s
    Dateiname Teil von Pfadname .

  • Funktionsname : %(funcName)s
    Name der Funktion, die den Protokollierungsaufruf enthält.

  • Ebenenname : %(levelname)s Textprotokollierungsstufe für die Nachricht ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL').

  • levelnr : %(levelno)s
    Numerische Protokollierungsstufe für die Nachricht (DEBUG, INFO, WARNING, ERROR, CRITICAL).

  • lineno : %(lineno)d
    Nummer der Quellzeile, an der der Protokollierungsaufruf ausgegeben wurde (falls verfügbar).

  • Modul : %(module)s
    Modul (Name Teil von Dateiname ).

  • msecs : %(msecs)d
    Millisekunde Teil der Zeit, als die LogRecord erstellt wurde.

  • Nachricht : %(message)s
    Die protokollierte Nachricht, berechnet als msg % args . Dies wird festgelegt, wenn Formatter.format() aufgerufen wird.

  • Name : %(name)s
    Name des Loggers, der zum Protokollieren des Anrufs verwendet wird.

  • Pfadname : %(pathname)s
    Vollständiger Pfadname der Quelldatei, in der der Protokollierungsaufruf ausgegeben wurde (falls verfügbar).

  • Prozess : %(process)d
    Prozess-ID (falls verfügbar).

  • Prozessname : %(processName)s
    Prozessname (falls verfügbar).

  • relativeCreated : %(relativeCreated)d
    Zeit in Millisekunden, wenn die LogRecord erstellt wurde, relativ zur Uhrzeit des Protokollierungsmoduls wurde geladen.

  • thread : %(thread)d
    Thread-ID (falls verfügbar).

  • threadName : %(threadName)s
    Name des Threads (falls verfügbar).

Die folgenden Argumente stehen auch für Formatter.format() zur Verfügung sind nicht dazu gedacht, in die Formatzeichenfolge aufgenommen zu werden:

  • Argumente :
    Das Tupel der Argumente wurde zu msg zusammengefügt, um eine Nachricht zu erzeugen.

  • exc_info :
    Ausnahme-Tupel (à la sys.exc_info ) oder, falls keine Ausnahme aufgetreten ist, None .

  • msg :
    Die Formatzeichenfolge, die beim ursprünglichen Protokollierungsaufruf übergeben wurde. Zusammengeführt mit args , um eine Nachricht oder ein beliebiges Objekt zu erzeugen (siehe Verwenden beliebiger Objekte als Nachrichten ).

user212218 09.10.2014 10:58
quelle
1

Schritt 1. Bearbeiten Sie Ihre Datei settings.py

%Vor%

Schritt2. Sie sollten Logger in Ihrer Codierung wie folgt verwenden:

%Vor%

Hoffe das hilft dir!

    
Binhong Wu 15.06.2015 07:06
quelle

Tags und Links