是否可以为整个python项目设置默认日志文件?
我正在使用django mailer库,其中包括日志调用:是否可以为整个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-
...
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”:{
“处理程序”:[“邮件管理员”],
“级别”:“错误”,
"传播":对,,
}
}
}