让以下内容成为设置.py`在
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,
}
}
}
现在假设我有三个文件,即A.py、B.py和C.py
在A.py我有个装修工
^{pr2}$在B.py&C.py中,我有许多函数来处理各种请求
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")
现在,我想将生成的惟一Id与记录器消息一起记录下来,而不必每次在记录器中显式地传递&我还想使它成为通用的!在
有没有什么方法可以不显式地将这些唯一的ID传递给记录器。在
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d
%thread)d %(message)s''%(unique_id)s'
},
},
每当logger被触发时,它应该从decorator获取相应的ID,并将其登录到%(unique_ID)s中,或者默认情况下它应该记录无
通常的方法是定义一个自定义格式化程序,并通过访问当前请求将数据(在您的情况下是ID)注入到日志格式中。在
相关问题 更多 >
编程相关推荐