从编码为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(请参阅文件许可证)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
日期和现在之间的Java时间   java以适当的方式更新jLabel和jTextField   java如何从PQ(单链表)中删除最大值   java可以通过任何方式找出哪些NSF文件属于Domino服务器   java Velocity 2不会设置属性   如何使用java流迭代索引映射列表   maven依赖项在编译期间工作,但在java运行时失败。lang.NoClassDefFoundError&java。lang.ClassNotFoundException   java有没有办法完全隐藏Web应用程序代码?   Android appcompat v7 21库中的java FadingActionBar错误   Eclipse/com中的java AdMob。谷歌。安卓gms。ads.AdView   java My Service表示它正在运行,但其状态尚不清楚,似乎没有绑定   java无法启动Apache Tomcat Web应用程序容器   JDK:java中的命名约定。可丢弃的   Spring SerSecurity中的java身份验证错误   Maven:使用JDK8编译Java7   java在使用ExecutorService时如何管理内存?   comm.jar通信串行端口java   java LibGDX创建动画