是否可以为整个python项目设置默认日志文件?

是否可以为整个python项目设置默认日志文件?,python,django,Python,Django,我正在使用django mailer库,其中包括日志调用: ... if connection is None: connection = get_connection(backend=EMAIL_BACKEND) logging.info("sending message '{0}' to {1}".format( message.subject.encode("utf-8"), u", ".join(message.to_addresses).encode("utf-

我正在使用django mailer库,其中包括日志调用:

...
if connection is None:
    connection = get_connection(backend=EMAIL_BACKEND)
logging.info("sending message '{0}' to {1}".format(
    message.subject.encode("utf-8"),
    u", ".join(message.to_addresses).encode("utf-8"))
)
...
但是,代码没有为此日志设置目标。我想在不修改库代码的情况下进行设置

那么,我将把选择要使用的文件的配置放在哪里呢?在Django的情况下,在settings.py文件中添加一些内容是否有效?这是推荐的还是不推荐的

我已经通读了,但不清楚如何从不同的文件设置它,以便它在全球范围内工作


另外,是否限制从特定库进行日志记录?因此,不必将所有日志记录都放在一个中心文件中,我可以让它放在一个仅用于django mailer的文件中。

您可以在设置文件中灵活地设置日志记录。大量文档。

这只是@seddonym向您指出的日志文档的一个示例(在这种情况下,Django文档比Python文档更有用)。在Django settings.py文件中,您可以包括以下日志配置:

# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
    'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'custom': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': <path_to_your_log_file>,
            'mode': 'a',
            'maxBytes': 10000000,
            'backupCount': 5,
            'formatter': 'verbose'
        }
    },
    'loggers': {
        '': {
            'handlers': ['custom'],
            'level': 'INFO',
            'propagate': True,
        },
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        }
    }
}
#参见http://docs.djangoproject.com/en/dev/topics/logging 对于
#有关如何自定义日志记录配置的更多详细信息。
日志记录={
“版本”:1,
“禁用现有日志记录器”:False,
“格式化程序”:{
“冗长的”:{
“格式”:“%(levelname)s%(astime)s%(模块)s%(进程)d%(线程)d%(消息)s”
},
“简单”:{
“格式”:“%(levelname)s%(消息)s”
},
},
“过滤器”:{
“要求调试错误”:{
“()”:“django.utils.log.requiredBugFalse”
}
},
“处理程序”:{
“邮件管理员”:{
“级别”:“错误”,
“过滤器”:[“需要调试\u错误”],
'class':'django.utils.log.AdminEmailHandler'
},
“习俗”:{
“级别”:“信息”,
'class':'logging.handlers.RotatingFileHandler',
“文件名”:,
“模式”:“a”,
“maxBytes”:10000000,
“备份计数”:5,
“格式化程序”:“详细”
}
},
“伐木工人”:{
'': {
“处理程序”:[“自定义”],
“级别”:“信息”,
"传播":对,,
},
“django.request”:{
“处理程序”:[“邮件管理员”],
“级别”:“错误”,
"传播":对,,
}
}
}