Como usar o registro de Django?

Como usar o registro de Django?
Cada programador enfrenta erros ao escrever código para desenvolver qualquer aplicativo. A depuração é usada pelo codificador para resolver os erros do aplicativo. Seu recurso de registro facilita o processo de depuração, salvando a saída de erros, aviso e mensagens de informação em um arquivo. Essas mensagens ajudam os codificadores a acompanhar os eventos, entender o motivo da saída indesejada e modificar o código corretamente para criar um aplicativo sem erros. O Python possui um módulo de log integral para executar tarefas relacionadas ao log com mais eficiência. Django é uma estrutura popular do Python que usa o módulo de log integrado do Python para fins de depuração. Como o módulo de registro Python pode ser usado no aplicativo Django para fins de depuração será explicado neste tutorial.

Diferentes partes do registro de django

O Django Logging contém quatro tipos de configurações que são explicadas abaixo.

1. Django Logger
O madeireiro registra os eventos quando o aplicativo é executado e o registro é chamado. As entradas de log são armazenadas em um arquivo, categorizando -as em diferentes níveis de log. Cada nível de log indica a gravidade dos eventos. Os propósitos desses níveis de log são mencionados abaixo:

  1. DEPURAR
    Ele fornece informações de sistema de baixo nível para depuração.
  1. Informações
    Fornece informações gerais.
  1. ERRO
    Ele fornece informações sobre o principal problema do aplicativo.
  1. AVISO
    Ele fornece informações sobre o pequeno problema do aplicativo.
  1. CRÍTICO
    Ele fornece informações sobre o problema crítico do aplicativo.

2. Manipulador de Django
A principal tarefa do manipulador é transmitir as informações de log que são armazenadas no arquivo de log. O módulo de registro contém muitos tipos de manipuladores e vários deles podem ser definidos para o mesmo logger.

3. Django Formatter
É usado para formatar os dados do log. Os dados do manipulador não podem ser enviados diretamente para o arquivo de log e os dados do manipulador exigem que ele seja convertido usando o formatador antes de enviar. O formatador converte os registros de log na string. O formato dos dados depende da lógica de negócios do manipulador.

4. Filtro django
É usado para filtrar as mensagens de log. Não é desnecessário armazenar todas as mensagens de log no arquivo de log. Manipuladores diferentes podem ser usados ​​para diferentes mensagens e as mensagens de log necessárias podem ser filtradas usando os filtros necessários.

Pré -requisitos

Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas:

  1. Instale a versão Django 3+ no Ubuntu 20+ (de preferência)
  2. Crie um projeto Django
  3. Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não.

Configure um aplicativo Django

  1. Execute o seguinte comando para criar um aplicativo django nomeado LogApp.
$ python3 gerencia.Py StartApp LogApp
  1. Execute o seguinte comando para criar o usuário para acessar o banco de dados Django. Se você criou o usuário antes, não precisa executar o comando.
$ python3 gerencia.py createSuperUser
  1. Adicione o nome do aplicativo no Instalado_app parte de py arquivo.
Instalado_apps = [
..
'LogApp'
]

Defina as informações de registro nas configurações.py

Abra o configurações.py Arquivo da pasta Django Project e adicione o seguinte conteúdo para definir as informações de registro. As propriedades do manipuladores e madeireiros estão definidos aqui. De acordo com os valores da propriedade de registro, DEPURAR As informações de registro de nível serão armazenadas em um arquivo de log nomeado Djangoapp.registro Quando o aplicativo Django será executado.

# Informações de registro de django
Logging =
# Defina a versão de registro
'versão 1,
# Habilite os madeireiros existentes
'desabille_existing_loggers': false,
# Defina os manipuladores
'Manipuladores':
'arquivo':
'nível': 'Debug',
'Classe': 'Loging.FileHandler ',
'nome do arquivo': 'Djangoapp.registro',
,
'Console':
'Classe': 'Loging.STREAM MADLER ',
,
,
# Defina os madeireiros
'Loggers':
'Django':
'Manipuladores': ['arquivo'],
'nível': 'Debug',
'Propagate': verdadeiro,
,
,

Abra o Djangoapp.registro arquivo para verificar as entradas de log são armazenadas no arquivo ou não.

Defina as informações de registro nas visualizações.py

As informações de registro podem ser definidas usando o arquivo de exibição também. Abra o Visualizações.py arquivo do LogApp pasta e substitua o conteúdo pelo seguinte script. Neste script, formatados, manipuladores, e madeireiros Partes do registro de Django são definidas no Config.dictConfig () método. DEPURAR As informações de registro de nível serão armazenadas em um arquivo de log nomeado Djangoapp.registro e será impresso no console quando o aplicativo Django será executado. índice() A função é usada para enviar um texto simples de manchete para o navegador e o display_log () A função é definida para enviar um texto simples no terminal e um texto manchete para o navegador.

Visualizações.py

# Importe o módulo de registro
importar log
# Importe httprop para enviar dados para o navegador
de Django.HTTP Importar httpResponse
# Defina as configurações de madeira
exploração madeireira.Config.dictConfig (
# Defina a versão de registro
'versão 1,
# Habilite os madeireiros existentes
'desabille_existing_loggers': false,
# Defina os formatados
'Formatters':
'Console':
'formato': '%(mensagem) s'
,
'arquivo':
'formato': '%(mensagem) s'
,
# Defina os manipuladores
'Manipuladores':
'Console':
'Classe': 'Loging.STREAM MADLER ',
'Formatter': 'Console'
,
'arquivo':
'nível': 'Debug',
'Classe': 'Loging.FileHandler ',
'Formatter': 'arquivo',
'nome do arquivo': 'Djangoapp.registro'

,
# Defina os madeireiros
'Loggers':
'Django':
'nível': 'Debug',
'manipuladores': ['arquivo', 'console'],



)
# Crie o objeto de madeireiros
logger = log.getLogger ('__ name__')
# Defina a função para a página de índice
Def Index (solicitação):
Retorne httproponse ("

Este é um aplicativo de django

")
# Defina a função para a página de log
def Display_log (solicitação):
# Envie o teste!! Mensagem de registro para o Standard Out
Logger.Erro ("Testando Django Log…")
Retorne httproponse ("

Mensagem de log de Django

")

Modificar o conteúdo do URLs.py Arquivo com o seguinte script. No script, o caminho vazio (”) é definido para chamar o índice() função das visualizações e do 'registro/'O caminho é usado para chamar o display_log () função das visualizações.

URLs.py

de Django.URLs Caminho de importação
das visualizações de importação do LogApp
urlpatterns = [
caminho (", vistas.índice),
caminho ('log/', visualizações.display_log)
]

Execute o seguinte URL para exibir a página de índice.

http: // localhost: 8000

Execute o seguinte URL para chamar o método Display_log () que exibirá uma mensagem de texto no navegador e uma mensagem de texto no terminal. As entradas de log serão anexadas no Djangoapp.registro arquivo.

Conclusão

Duas maneiras de usar o registro do Python no aplicativo Django para manter as informações de registro do nível de depuração são mostradas neste tutorial. Espera -se que o conceito básico sobre o registro de Django seja entendido pelos leitores depois de ler este tutorial.