Python Logging setLevel

Python Logging setLevel

El paquete Python de registro de la Biblioteca Común ofrece la capacidad de lidiar con el marco para emitir la información de registro de los programas de Python. El registro es principalmente importante para realizar un seguimiento de los datos, errores y excepciones. Ayuda a la depuración también. El registro es el término simple para cualquier cosa que rastreamos y recolectemos. Por lo tanto, la recopilación de información, tanto lo que ya tenemos como lo que obtendremos durante el procesamiento, nos ayudará a depurar. En el registro, hay cinco niveles predeterminados que se discutirán en este artículo.

Trabajando en iniciar sesión en Python

Al igual que con un inicio de sesión de administrador de la aplicación, el tiempo y el nombre se ingresan en un archivo que luego se registra guardando el archivo. Esto implica que mientras se recopilen nuestros datos, sabremos en quién se registra el administrador en ese momento, y podremos guardar su información de cierre de sesión también. Por lo tanto, esta es una información esencial que podemos registrar y guardar en un archivo de registro para cualquier momento de inicio de sesión o inicio de sesión de administración. Similar a esto, ocasionalmente encontramos un error específico en el código. Para abordar esto, creamos un registro, ingresamos los datos y la información relevantes, y configuramos el escenario de modo que si ocurre el error, se muestra un mensaje de error. Una vez que esto sucede, el mensaje se guarda en el archivo de registro al que podemos acceder para ver el archivo de registro e identificar rápidamente y corregir el error. El registro generalmente se define de la misma manera en todos los lenguajes de computadora. Debemos usar el módulo de registro de Python si deseamos realizar un seguimiento de los errores. La biblioteca de registro de Python debe importarse como se muestra en la siguiente imagen:

También podemos importar el registro escribiendo "Desde el registro de importación *". Continuando, hablemos sobre el método SetLevel de registro de Python.

Método BasicConfig (** Kwargs)

El sistema de registro está configurado utilizando esta técnica.

Sintaxis para BasicConfig:

Podemos utilizar los numerosos parámetros "BasicConfig ()". En consecuencia, hablemos de sus parámetros y definamos el propósito de cada uno.

Nombre del archivo: En lugar de construir un controlador de transmisión, dirige que se construirá un manual de archivos con el nombre de archivo suministrado. Este argumento se utiliza para especificar el nombre del archivo de registro recién generado, y su valor es el nombre del archivo que se coloca entre paréntesis. También podemos utilizar la ruta, que indica la ubicación en la que queremos crear un archivo, utilizando el parámetro "nombre de archivo". El orden en el que se escribe este argumento es primero "nombre de archivo", luego el signo igual ("="), luego las comas invertidas. Le damos a nuestro archivo cualquier nombre que elijamos colocándolo entre las comas invertidas.

FileMode: Abra el archivo en este modo si se proporciona el nombre de archivo: "a" es de forma predeterminada, pero "w" también se puede escribir. Esto indica el modo predeterminado en el que se crea el archivo, que es el modo adjunto. Sin embargo, alternativamente podemos abrir el archivo en modo de escritura escribiendo "W". Se puede abrir un archivo en modo de escritura escribiendo primero el "FileMode", luego utilizando el signo igual ("="), y luego escribiendo la "W" entre las comas invertidas. Los datos anteriores también son visibles en el archivo cuando los abrimos en el modo adjunto, pero se eliminará cuando los abra en el modo de escritura.

Nivel: Establezca el nivel del registrador raíz como se desee. Hay diferentes niveles producidos en él, como un nivel de "información", nivel de "depuración", nivel de "advertencia", nivel de "error" y nivel "crítico".

formato: Use la cadena de formato del controlador seleccionado. Los datos que se mantienen en el archivo de registro tienen un formato específico porque los establecemos en consecuencia.

datefmt: Use el formato de fecha y hora que se ha definido durante el "tiempo.strftime () ". Describimos el formato de fecha y hora en palabras simples.

Estilo: Use este estilo para la cadena de formato si el formato se proporciona con un "%", "" o "$" para estilo impreso, STR.formato () o cadena, respectivamente. La plantilla apropiada generalmente se establece en "%".

Hay muchos más parámetros aparte de estos como "transmisión", "manejadores" y "fuerza", pero no los utilizaremos en este contexto.

Niveles de registro

La biblioteca estándar de Python también incluye el módulo de registro. Solo necesitamos importar registro para comenzar. Hay cinco niveles de registro comunes que, por defecto, representan la importancia de los ocurrencias. Estos niveles son:

  1. Notas - Su nivel en numérico es 0
  2. DEPURAR - Su nivel en numérico es 10
  3. Información - Su nivel en numérico es 20
  4. ADVERTENCIA - Su nivel en numérico es 30
  5. ERROR - Su nivel en numérico 40
  6. CRÍTICO - Su nivel en Numérico 50

Nuestro nivel se establece de forma predeterminada en "30" que está en la categoría de "Advertencia". Podemos mostrar "advertencia", "error" y "crítico" en nuestro archivo de registro porque nuestro conjunto de nivel predeterminado es "30", que es "advertencia". Pero no podemos mostrar "depuración" y "información". Para mostrar "información" y "depurar", primero debemos alterar el nivel para "depurar" donde se ingresan todos los datos por encima de ese nivel. Por el momento, el nivel es una advertencia, por lo que se ingresan todos los datos por encima de ese nivel.

Comencemos a poner el guión en acción. Primero, importamos registro, lo que implica que todo desde el módulo de registro se importa. Luego, en la siguiente línea, usamos el "registro.depurar "y pasar el mensaje" Este es un mensaje de depuración "en su paréntesis. Luego, en la siguiente línea, usamos el "registro.información "y pase el mensaje" Este es un mensaje informativo ". Ambos son los Setlevels, pero no aparecerán en la consola porque el nivel predeterminado es "30", que es una "advertencia". Como resultado, la consola muestra los datos anteriores de la advertencia cuyos niveles numéricos son "40" y "50".

Puede ver que no mostrará nada en la salida porque usamos el nivel de "depuración" e "info". El nivel se estableció en "Advertencia" por defecto "Nivel 30".

El mensaje "Este es un mensaje de advertencia" se proporcionó al "Registro.advertencia ”en la segunda sección del código donde ahora usamos los niveles restantes de registro. Luego, en la siguiente línea, usamos el "registro.Error "y pase la frase" Este es un mensaje de error "dentro de sus paréntesis. A continuación, usamos el "registro.crítico "y pase la frase" Los usuarios están en dificultades "entre sus paréntesis. Ahora, cuando ejecutamos este script, muestra la advertencia, el error y los mensajes críticos ya que el nivel de setlevel predeterminado es "30", que es una advertencia. No muestra la depuración o los mensajes de información porque están por debajo del nivel de advertencia.

Ahora que se muestra el texto predeterminado, como puede ver en la siguiente imagen, se muestra en un archivo de registro. Por lo tanto, los niveles de "advertencia", "error" y "crítico" se muestran aquí. "Root" es el nombre del registrador. Después de eso, se muestra el mensaje. Explicamos por qué los niveles de "depuración" y "información" no se muestran en la explicación anterior.

Para almacenar o mostrar todos los datos anteriores de la depuración, incluida la "depuración", "información", "advertencia", "error" y "crítico", ahora establecemos el nivel de "depuración" para mostrar los datos anteriores de la depuración. Dado que usamos el "registro.BasicConfig "para este propósito y le dio el" nivel = "depuración" como su valor, la salida ahora muestra todos los niveles y mensajes:

La salida muestra con éxito todos los niveles. Se muestran los datos anteriores de la depuración, se muestran los nombres de los niveles, primero el registrador es la raíz y luego se muestran los mensajes.

Ahora, demostramos cómo se formatean los mensajes. El formato acepta una cadena con cualquier combinación de propiedades de Logrecord. Dimos el formato al mismo script en el siguiente paso. Para esto, después de importar el registro, utilizamos el "formato de registro" en la siguiente línea. Luego, usamos una cadena con atributos de "Logrecord" en el orden que nos gusta. Primero, usamos "AscTime". Debido a que está en una cadena, usamos "S". Y usamos el símbolo porcentual porque usamos el estilo porcentual. Luego, usamos el "NameName" que muestra el nombre del nivel. Luego, usamos "nombre" que muestra el nombre del registrador. Luego, usamos "Lineno" que muestra el número de línea. Ejecutemos el script ahora.

Muestra el formato especificado en el script. La fecha y la hora se mostraron primero, luego los nombres de los niveles, el primer nivel es "depurar" y el nombre del registrador, "root". Después de entonces, muestra "7" como su número de línea antes de mostrar el mensaje porque, como puede ver en el script anterior, la palabra "depuración" se usa en la línea siete. Se muestra un formato de mensaje similar para los niveles restantes.

Conclusión

En este artículo, cubrimos los niveles de registro de Python. Tenemos un total de seis niveles establecidos, y hablamos sobre cinco de ellos: "depurar", "información", "advertencia", "error" y "crítico". Nuestro nivel se establece de forma predeterminada en "30", que es la advertencia de nivel, por lo que muestra los datos por encima de la advertencia. Discutimos en este artículo que también podemos mostrar los datos de "depuración" y arriba de la depuración estableciendo el nivel básico para depurar. Además, discutimos cómo formatear los mensajes en diferentes niveles utilizando los atributos de "Logrecords".