Que le suivant soit la formatter forestière dans settings.py`Ajouter une variable dynamique personnalisé dans Django Python journalisation Formatter
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %thread)d %(message)s'
},
},
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
},
'loggers': {
'django': {
'handlers': ['console'],
'propagate': True,
},
'myproject.custom': {
'handlers': ['console'],
'level': 'INFO',
'propagate': False,
}
}
}
Maintenant, supposons que j'ai trois fichiers à savoir A.py, B.py & C.py
Dans A.py J'ai un décorateur
def myDecorator():
#Code to generate unique Id for each request in Django APP
uniqueId = #something
Dans B.py & C.py j'ai de nombreuses fonctions pour gérer diverses demandes
import A.py import myDecorator
import logging
@myDecorator
def func1():
#Some Code
logger.debug("Logger message")
@myDecorator
def func2():
#Some Code
logger.info("Logger message")
@myDecorator
def func3():
#Some Code
logger.debug("Logger message")
def func4():
#May be Some functions without logger too !!!!
logger.debug("Logger message")
Maintenant, je veux connecter l'identifiant unique généré ainsi que le message de l'enregistreur sans être passé explicitement à chaque fois dans l'enregistreur & Je veux aussi rendre générique!
est-il par quelque façon que je peux passer ces ID uniques aux enregistreurs sans passer explicitement.
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d
%thread)d %(message)s''%(unique_id)s'
},
},
Chaque fois que l'enregistreur est déclenché, il doit obtenir son numéro d'identification correspondant du décorateur & journal dans % (id_unique) s ou par défaut, il doit se connecter Aucun
Ya J'ai écrit ** CustomFormatter ** ** en settings.py **. Mais l'identifiant que je génère est dans un fichier différent! Chaque demande fonctionne maintenant dans différents fil dans l'hôte! Alors, comment vais-je injecter l'ID généré Décorateurs dans le Formattor avec l'aide des fils ?? Est-ce possible? –