我在Django日志记录配置方面苦苦挣扎。我有一个名为“ api”的应用程序,我想保存该应用程序的所有日志。当我将记录器设置为django时,一切正常,但是当我将其更改为我的app_name时,它却没有。 这是我的配置:
文件结构:
email_api
api
tasks.py
email_api
celery.py
settings
logs
email.log
我的日志记录配置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'logs/email.log',
},
},
'loggers': {
'api': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
我在其中记录的tasks.py文件:
import logging
logger = logging.getLogger(__name__)
@app.task(bind=True, default_retry_delay=3, max_retries=3,)
def send_email(self, data, email_id):
message = create_message(data, email)
try:
logger.debug("Log Message Here")
message.send()
答案 0 :(得分:1)
LOGGING['loggers'][...]
dict
中的键是记录器的名称。您已使用api
作为日志记录器的名称配置日志记录。
要写入此记录器,您应使用该名称进行请求:
logger = logging.getLogger('api')
...
logger.debug("Log Message Here")