从编码为dict的定义创建oops配置
oops_dictconfig的Python项目详细描述
python oops dictconfig
==
====
根据编码为字典的定义创建"oops.config"对象。
依赖项
----
*python oops(http://pypi.python.org/pypi/oops)
配置
您将使用:
*python oops datedir repo(http://pypi.python.org/pypi/oops_datedir_repo)
*python oops amqp(http://pypi.python.org/pypi/oops_datedir_repo)
---
使用run::
h
没有发布服务器,但是,您通常希望至少有一个发布服务器。
每个dict都将向"oops.config"中添加一个发布服务器。
对于所有发布服务器类型,都有一个强制键:
*type:支持发布服务器的类型,当前的"datedir"和"amqp"。
哎呀。不要使用这个,您应该看到关于回退发布服务器的部分:
*new_only:如果这是'true',发布服务器将被包装在
`oops.publish_only_new'中,这意味着只有在没有以前的发布服务器时,oops才会被发送到这个发布服务器r在
链中发布了它。
每个发布服务器类型也有下面详细介绍的其他选项。
`````````
r/>它不需要已经存在。
还支持以下可选键:
*inherit_id:如果为true,请使用
报表中提供的oops id(如果存在),而不是始终分配新的oops id。
*stash_path:如果为true,则文件名t将oops写入
的内容存储在"datedir_repo_filepath"键下的oops报告中。
它不存储在写入磁盘的oops中,只存储在内存中的
模型中。
amqp
````````
还有其他几个强制键对于AMQP发布服务器:
*主机:要连接到的AMQP代理的主机名。如果需要端口
,请在主机名后指定该端口,并用冒号分隔。示例:`example.com`,`1.2.3.4:5022`.
*用户:连接到AMQP代理时使用的用户名。
*密码:连接到AMQP代理时使用的密码。
*vhost:在AMQP代理上发送消息的vhost。
*exchange廑name:名称要发布到的Exchange的。
*路由密钥:邮件的路由密钥。
*如果为真,则继承ID如果为真,则保留OOPS报表中的任何"真"ID。如果已向用户显示
的ID正在发布(但不能保证唯一性)。
fallback publishers
---------
>有时需要有一个发布者链,其中下一个在
链中如果当前尝试报告失败,则使用。例如,
可以有一个带有datedir回退的amqp发布服务器,这样,如果amqp
代理不可访问,则oop将保存到datedir中,以便以后可以转发它们。
为此,创建一个具有"回退链"键的发布服务器定义,
其值为list of出版商连锁,e.g.
{
'回退链':[
{'类型':'amqp',
…
},
{'类型':'datedir',
…
}
]
}
请注意,这些链不能嵌套,因此"回退链"只能出现在顶层发布者列表中的一个。
},
],
}
'password':'oopspassword',
'vhost':'oopses',
'exchange'name':'oopses',
'routing'key':'oopses',
},
],
}
如果amqp不可用,则回购:
{
"发布者":[
{
{
"回退链":[
{
"类型":"amqp",
"主机":"amqp.example.com:5302",
"用户":'oopsuser',
'password':'oopspassword',
'vhost':'oopses',
'exchange'name':'oopses',
'routing'key':'oopses',
},
{
'类型':'日期目录',
'错误目录':'/var/log/oopses/',
},
],
},
],
}
template
--
ICT。这本身应该是一个将键映射到默认值的dict映射键。
模板将在创建oopse时由配置使用。
er':'myapp',
},
}
——
>如果使用configglue来管理配置,则会提供一个选项
子类,该子类可在架构中酌情使用::
from configglue import schema
from oops dictconfig.configglue import oopsoption
class myschema(schema.schema):
定义后,可以使用configglue配置文件生成上述配置
publishers=fallback_chain
[回退链]
回退链=amqp_publisher
datedir_publisher
[amqp_publisher]
type=amqp
host=amqp.example.com:6832
user=oopsuser
password=oopspassword
v主机=oopses
exchange_name=oopses
routing_key=oopses
[datedir_publisher]
type=datedir
error_dir=/var/log/oopses
running tests
----
安装"testrepository"和"python subunit",然后运行::
testr init
testr run
或run::
……
copyright(c)2012,canonical ltd
此程序是免费软件:您可以根据gn的条款重新分发和/或修改它。由《自由软件基金会》第3版出版的较小的通用公共许可证。/>
本程序的发布目的是希望它会有用,
但没有任何保证;甚至没有针对特定用途的适销性或适用性的隐含保证。有关详细信息,请参阅
GNU Lesser General Public许可证。
如果没有,请参阅<;http://www.gnu.org/licenses/>;
gnu lesser general public license version 3(请参阅文件许可证)。
==
====
根据编码为字典的定义创建"oops.config"对象。
依赖项
----
*python oops(http://pypi.python.org/pypi/oops)
配置
您将使用:
*python oops datedir repo(http://pypi.python.org/pypi/oops_datedir_repo)
*python oops amqp(http://pypi.python.org/pypi/oops_datedir_repo)
---
使用run::
h
没有发布服务器,但是,您通常希望至少有一个发布服务器。
每个dict都将向"oops.config"中添加一个发布服务器。
对于所有发布服务器类型,都有一个强制键:
*type:支持发布服务器的类型,当前的"datedir"和"amqp"。
哎呀。不要使用这个,您应该看到关于回退发布服务器的部分:
*new_only:如果这是'true',发布服务器将被包装在
`oops.publish_only_new'中,这意味着只有在没有以前的发布服务器时,oops才会被发送到这个发布服务器r在
链中发布了它。
每个发布服务器类型也有下面详细介绍的其他选项。
r/>它不需要已经存在。
还支持以下可选键:
*inherit_id:如果为true,请使用
报表中提供的oops id(如果存在),而不是始终分配新的oops id。
*stash_path:如果为true,则文件名t将oops写入
的内容存储在"datedir_repo_filepath"键下的oops报告中。
它不存储在写入磁盘的oops中,只存储在内存中的
模型中。
amqp
````````
还有其他几个强制键对于AMQP发布服务器:
*主机:要连接到的AMQP代理的主机名。如果需要端口
,请在主机名后指定该端口,并用冒号分隔。示例:`example.com`,`1.2.3.4:5022`.
*用户:连接到AMQP代理时使用的用户名。
*密码:连接到AMQP代理时使用的密码。
*vhost:在AMQP代理上发送消息的vhost。
*exchange廑name:名称要发布到的Exchange的。
*路由密钥:邮件的路由密钥。
*如果为真,则继承ID如果为真,则保留OOPS报表中的任何"真"ID。如果已向用户显示
的ID正在发布(但不能保证唯一性)。
fallback publishers
---------
>有时需要有一个发布者链,其中下一个在
链中如果当前尝试报告失败,则使用。例如,
可以有一个带有datedir回退的amqp发布服务器,这样,如果amqp
代理不可访问,则oop将保存到datedir中,以便以后可以转发它们。
为此,创建一个具有"回退链"键的发布服务器定义,
其值为list of出版商连锁,e.g.
{
'回退链':[
{'类型':'amqp',
…
},
{'类型':'datedir',
…
}
]
}
请注意,这些链不能嵌套,因此"回退链"只能出现在顶层发布者列表中的一个。
},
],
}
'password':'oopspassword',
'vhost':'oopses',
'exchange'name':'oopses',
'routing'key':'oopses',
},
],
}
如果amqp不可用,则回购:
{
"发布者":[
{
{
"回退链":[
{
"类型":"amqp",
"主机":"amqp.example.com:5302",
"用户":'oopsuser',
'password':'oopspassword',
'vhost':'oopses',
'exchange'name':'oopses',
'routing'key':'oopses',
},
{
'类型':'日期目录',
'错误目录':'/var/log/oopses/',
},
],
},
],
}
template
--
ICT。这本身应该是一个将键映射到默认值的dict映射键。
模板将在创建oopse时由配置使用。
er':'myapp',
},
}
>如果使用configglue来管理配置,则会提供一个选项
子类,该子类可在架构中酌情使用::
from configglue import schema
from oops dictconfig.configglue import oopsoption
class myschema(schema.schema):
定义后,可以使用configglue配置文件生成上述配置
publishers=fallback_chain
[回退链]
回退链=amqp_publisher
datedir_publisher
[amqp_publisher]
type=amqp
host=amqp.example.com:6832
user=oopsuser
password=oopspassword
v主机=oopses
exchange_name=oopses
routing_key=oopses
[datedir_publisher]
type=datedir
error_dir=/var/log/oopses
running tests
----
安装"testrepository"和"python subunit",然后运行::
testr init
testr run
或run::
……
copyright(c)2012,canonical ltd
此程序是免费软件:您可以根据gn的条款重新分发和/或修改它。由《自由软件基金会》第3版出版的较小的通用公共许可证。/>
本程序的发布目的是希望它会有用,
但没有任何保证;甚至没有针对特定用途的适销性或适用性的隐含保证。有关详细信息,请参阅
GNU Lesser General Public许可证。
如果没有,请参阅<;http://www.gnu.org/licenses/>;
gnu lesser general public license version 3(请参阅文件许可证)。