Journalisation des recherches
This commit is contained in:
parent
bdca70964a
commit
78d4d7c624
2 changed files with 28 additions and 1 deletions
|
@ -11,12 +11,15 @@ from django.http import JsonResponse, HttpResponseBadRequest
|
||||||
from django.shortcuts import render, redirect, get_object_or_404
|
from django.shortcuts import render, redirect, get_object_or_404
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
|
|
||||||
from .documents import StageDocument
|
from .documents import StageDocument
|
||||||
from .models import Stage
|
from .models import Stage
|
||||||
from .statics import TYPE_LIEU_OPTIONS, TYPE_STAGE_OPTIONS, NIVEAU_SCOL_OPTIONS
|
from .statics import TYPE_LIEU_OPTIONS, TYPE_STAGE_OPTIONS, NIVEAU_SCOL_OPTIONS
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger("recherche")
|
||||||
|
|
||||||
# Recherche
|
# Recherche
|
||||||
class SearchForm(forms.Form):
|
class SearchForm(forms.Form):
|
||||||
generique = forms.CharField(required=False)
|
generique = forms.CharField(required=False)
|
||||||
|
@ -146,7 +149,9 @@ def recherche_resultats(request):
|
||||||
search_args = form.cleaned_data
|
search_args = form.cleaned_data
|
||||||
|
|
||||||
# Gestion du cache
|
# Gestion du cache
|
||||||
cache_key = json.dumps(search_args, sort_keys=True)
|
lsearch_args = {key: val for key, val in search_args.items()
|
||||||
|
if val != "" and val is not None}
|
||||||
|
cache_key = json.dumps(lsearch_args, sort_keys=True)
|
||||||
cached = cache.get(cache_key)
|
cached = cache.get(cache_key)
|
||||||
if cached is None:
|
if cached is None:
|
||||||
# Requête effective
|
# Requête effective
|
||||||
|
@ -157,11 +162,13 @@ def recherche_resultats(request):
|
||||||
# Sauvegarde dans le cache
|
# Sauvegarde dans le cache
|
||||||
to_cache = {"stages": stageids, "lieux": lieux, "tri": tri}
|
to_cache = {"stages": stageids, "lieux": lieux, "tri": tri}
|
||||||
cache.set(cache_key, to_cache, 600)
|
cache.set(cache_key, to_cache, 600)
|
||||||
|
logger.info(cache_key)
|
||||||
else:
|
else:
|
||||||
# Lecture du cache
|
# Lecture du cache
|
||||||
stageids = cached["stages"]
|
stageids = cached["stages"]
|
||||||
lieux = cached["lieux"]
|
lieux = cached["lieux"]
|
||||||
tri = cached["tri"]
|
tri = cached["tri"]
|
||||||
|
logger.info("recherche en cache")
|
||||||
|
|
||||||
# Pagination
|
# Pagination
|
||||||
paginator = Paginator(stageids, 25)
|
paginator = Paginator(stageids, 25)
|
||||||
|
|
|
@ -115,3 +115,23 @@ CAS_VERSION = 'CAS_2_SAML_1_0'
|
||||||
|
|
||||||
LOGIN_URL = reverse_lazy('login')
|
LOGIN_URL = reverse_lazy('login')
|
||||||
LOGOUT_URL = reverse_lazy('logout')
|
LOGOUT_URL = reverse_lazy('logout')
|
||||||
|
|
||||||
|
|
||||||
|
LOGGING = {
|
||||||
|
'version': 1,
|
||||||
|
'disable_existing_loggers': False,
|
||||||
|
'handlers': {
|
||||||
|
'file': {
|
||||||
|
'level': 'INFO',
|
||||||
|
'class': 'logging.FileHandler',
|
||||||
|
'filename': os.path.join(BASE_DIR, 'recherche.log'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'loggers': {
|
||||||
|
'recherche': {
|
||||||
|
'handlers': ['file'],
|
||||||
|
'level': 'INFO',
|
||||||
|
'propagate': True,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue