Logger.info() не показывает сообщение в файле журнала в проекте Django

Я изучаю логирование в django. Лог файлы генерируются, но я не показываю нужное сообщение, которое я хочу показать в лог файле. вот мой код файл views.py:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

import logging, traceback
logger = logging.getLogger('django')

def home(request):
  logger.info('Some Message')
  return render(request, 'home.html')

файл settings.py:

import os

LOGGING ={
  'version':1,
  'loggers':{
    'django':{
        'handlers':['file'],
        'level':'DEBUG'
    }
 },
 'handlers':{
     'file':{
        'level':'INFO',
        'class':'logging.FileHandler',
        'filename':'./logs/debug3.log',
        'formatter':'simple'
    }
 },
  'formatters':{
    'simple':{
        'format':'{levelname} {asctime} {module} {process:d} {thread:d} {message}',
        'style':'{',
    }
}

}

Ваша конфигурация протоколирования кажется правильной.

Django version 4.0.5, using settings 'proj.settings'

Я использую это для проверки конфигурации протоколирования:

proj/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',  # <- example app
]

...

# Add to create the folders in Path
LOG_FILE_PATH = './logs'
LOG_FILENAME = 'debug3.log'
p = Path(LOG_FILE_PATH).resolve()
p.mkdir(parents=True, exist_ok=True)

LOGGING = {
    'version': 1,
    'loggers': {
        'django': {
            'handlers':['file'],
            'level':'DEBUG'
        }
    },
    'handlers': {
        'file': {
            'level':'INFO',
            'class':'logging.FileHandler',
            'filename': p / LOG_FILENAME,
            'formatter':'simple'
        }
    },
    'formatters': {
        'simple': {
            'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
            'style': '{',
        }
    }
}

app1/views.py

from asyncio.log import logger
from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

import logging, traceback
logger = logging.getLogger('django')


def home(request):
  logger.info('Some Message')
  return HttpResponse('Home')

app1/urls.py

from django.urls import path
from .views import home

urlpatterns = [
    path('', home),
]

proj/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('', include('app1.urls')),
    path('admin/', admin.site.urls),
]

Запустить веб-сервер

python manage.py runserver 0.0.0.0:8000 --insecure

Перейдите к файлу журнала и откройте его или выполните команду tail -f

файл журнала

INFO 2022-06-30 17:12:48,683 autoreload 70907 140544122230592 Watching for file changes with StatReloader
INFO 2022-06-30 17:13:03,650 views 70907 140544074688256 Some Message
INFO 2022-06-30 17:13:03,652 basehttp 70907 140544074688256 "GET / HTTP/1.1" 200 4

сообщение есть.

Вернуться на верх