Diferentes partes de Django Logging
El registro de Django contiene cuatro tipos de configuraciones que se explican a continuación.
1. Django Logger
El registrador registra los eventos cuando se ejecuta la aplicación y el registro se llama. Las entradas de registro se almacenan en un archivo clasificándolas en diferentes niveles de registro. Cada nivel de registro indica la gravedad de los eventos. Los propósitos de estos niveles de registro se mencionan a continuación:
- DEPURAR
Proporciona información del sistema de bajo nivel para la depuración.
- INFO
Proporciona información general.
- ERROR
Proporciona información sobre el problema principal de la aplicación.
- ADVERTENCIA
Proporciona información sobre el problema menor de la aplicación.
- CRÍTICO
Proporciona información sobre el problema crítico de la aplicación.
2. Controlador de Django
La tarea principal del controlador es transmitir la información de registro que se almacena en el archivo de registro. El módulo de registro contiene muchos tipos de controladores y se pueden definir varios de ellos para el mismo registrador.
3. Formateador Django
Se utiliza para formatear los datos del registro. Los datos del controlador no se pueden enviar directamente al archivo de registro y los datos del controlador requieren que se conviertan mediante el formateador antes de enviar. El formateador convierte los registros de registro en la cadena. El formato de los datos depende de la lógica empresarial del gestor.
4. Filtro Django
Se utiliza para filtrar los mensajes de registro. No es necesario almacenar todos los mensajes de registro en el archivo de registro. Se pueden usar diferentes manejadores para diferentes mensajes y los mensajes de registro requeridos se pueden filtrar usando los filtros requeridos.
Prerrequisitos
Antes de practicar el guión de este tutorial, debe completar las siguientes tareas:
- Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
- Crea un proyecto de Django
- Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.
Configurar una aplicación Django
- Ejecute el siguiente comando para crear una aplicación Django llamada logapp.
- Ejecute el siguiente comando para crear el usuario para acceder a la base de datos de Django. Si ha creado el usuario antes, no necesita ejecutar el comando.
- Agregue el nombre de la aplicación en el INSTALLED_APP parte de py expediente.
..
'logapp'
]
Establecer la información de registro en la configuración.py
Abre el ajustes.py archivo de la carpeta del proyecto Django y agregue el siguiente contenido para definir la información de registro. Las propiedades del manipuladores y madereros se establecen aquí. Según los valores de las propiedades de tala, DEPURAR La información de registro de nivel se almacenará en un archivo de registro llamado djangoapp.Iniciar sesión cuando se ejecutará la aplicación Django.
# Información de registro de DjangoREGISTRO =
# Defina la versión de registro
'versión 1,
# Habilitar los registradores existentes
'disable_existing_loggers': Falso,
# Definir los manejadores
'manejadores':
'expediente':
'nivel': 'DEPURACIÓN',
'class': 'registro.FileHandler ',
'nombre de archivo': 'djangoapp.Iniciar sesión',
,
'consola':
'clase': 'registro.StreamHandler ',
,
,
# Definir los registradores
'registradores':
'django':
'handlers': ['archivo'],
'nivel': 'DEPURACIÓN',
'propagar': Verdadero,
,
,
Abre el djangoapp.Iniciar sesión archivo para comprobar las entradas del registro se almacenan en el archivo o no.
Configurar la información de registro en las vistas.py
La información de registro se puede definir utilizando el archivo de vista también. Abre el puntos de vista.py archivo de la logapp carpeta y reemplace el contenido con el siguiente script. En este guión, formateadores, manipuladores, y madereros partes del registro de Django se definen en el config.dictConfig () método. DEPURAR La información de registro de nivel se almacenará en un archivo de registro llamado djangoapp.Iniciar sesión y se imprimirá en la consola cuando se ejecute la aplicación Django. índice() La función se utiliza para enviar un texto de título simple al navegador y al display_log () La función está definida para enviar un texto simple en la terminal y un texto de título al navegador.
puntos de vista.py
# Importar el módulo de registroregistro de importación
# Importar HttpResponse para enviar datos al navegador
de django.http import HttpResponse
# Definir las configuraciones de registro
Inicio sesión.config.dictConfig (
# Defina la versión de registro
'versión 1,
# Habilitar los registradores existentes
'disable_existing_loggers': Falso,
# Definir los formateadores
'formateadores':
'consola':
'formato': '% (mensaje) s'
,
'expediente':
'formato': '% (mensaje) s'
,
# Definir los manejadores
'manejadores':
'consola':
'class': 'registro.StreamHandler ',
'formateador': 'consola'
,
'expediente':
'nivel': 'DEPURACIÓN',
'class': 'registro.FileHandler ',
'formateador': 'archivo',
'nombre de archivo': 'djangoapp.Iniciar sesión'
,
# Definir los registradores
'registradores':
'django':
'nivel': 'DEPURACIÓN',
'handlers': ['archivo', 'consola'],
)
# Crea el objeto loggers
logger = registro.getLogger ('__ nombre__')
# Definir la función para la página de índice
def index (solicitud):
return HttpResponse ("
Esta es una aplicación de Django
")# Definir la función para la página de registro
def display_log (solicitud):
# Enviar la prueba!! mensaje de registro a salida estándar
registrador.error ("Probando el registro de Django ...")
return HttpResponse ("
Mensaje de registro de Django
")Modificar el contenido del urls.py archivo con el siguiente script. En el script, la ruta de acceso vacía (”) se define para llamar al índice() función de las vistas y la 'Iniciar sesión/'ruta se usa para llamar al display_log () función de las vistas.
urls.py
de django.ruta de importación de URLdesde vistas de importación de logapp
urlpatterns = [
ruta (", vistas.índice),
ruta ('registro /', vistas.display_log)
]
Ejecute la siguiente URL para mostrar la página de índice.
http: // localhost: 8000
Ejecute la siguiente URL para llamar al método display_log () que mostrará un mensaje de texto en el navegador y un mensaje de texto en la terminal. Las entradas del registro se agregarán al djangoapp.Iniciar sesión expediente.
Conclusión
En este tutorial se muestran dos formas de usar el registro de Python en la aplicación Django para mantener la información de registro del nivel DEBUG. Se espera que los lectores comprendan el concepto básico sobre el registro de Django después de leer este tutorial.