=================
oops-tools的Python项目详细描述
…
此文件是oopstools的一部分
2009-2011 Canonical Ltd.版权所有。保留所有权利。
此程序是免费软件:您可以根据由
免费的软件基础,许可证的版本3,或BR/>(按您的选择)任何版本。BR/> BR/>此程序被分发,希望它是有用的,
但没有任何保证;甚至没有
适销性或特定用途适用性的隐含保证。有关详细信息,请参阅gnu-affero通用公共许可证。
您应该已经收到gnu-affero通用公共许可证的副本。如果没有,请参见http://www.gnu.org/licenses/>;
==
>这是一个用于分析oops报告的django应用程序
(请参见https://launchpad.net/python oops)。
请参见https://dev.launchpad.net/lazrstyleguide和
https://dev.launchpad.net/hacking如何在这个
包中开发。
dependencies
==
launchpad上的
lazr source dependencies分支提供所有依赖项(数据库包除外)。只需键入make就可以设置
dependencies egons的下载缓存,然后创建构建。
在调用make之前,只需将lazr_sourcedeps_dir设置为
包含下载缓存和eggs目录的目录即可。
在apache和mod_wsgi下运行(推荐)
*libapache2 mod wsgi包
在apache和mod python下运行
*libapache2 mod python包
用数据库配置和oops目录路径更新副本:
[配置]
db name=/path/to/your/oops.db
索引模板='index.html'
oopsdir=/path/where/rsynced/oopses/are/found
/另一个/such/path
update settings.py设置自定义密钥和适当的amqp连接
详细信息(以便oops工具网站本身可以报告错误,如果出现这种情况,
要部署oops工具,请确保安装了所有依赖项。
*bin/buildout-c yourfilename.cfg
*run bin/django syncdb
*run bin/django migrate
*copy apache/oops-tools.dev.mod/etc/apache2/sites available/
amqp integration
==要使用它,您需要配置oops
创建以通过amqp发布。如果您使用的是python,那么oops amqp
模块将帮助您做到这一点。
django web ui还与amqp集成,以报告出现的错误
呈现或搜索oops报告。控制此操作的设置位于
settings.py(或在编译为
settings.py的配置文件中)。
在本地运行
====
有时启动板开发人员希望运行oops工具来帮助在本地分析生成的oops报告。
第一步是设置本地数据库。
您需要另一个群集来运行oops工具数据库。
为lpoops创建一个新群集:
$lc_a ll=c sudo pg_create cluster 9.1 lpoops—编码Unicode—端口5433
将以下修补程序应用于/etc/postgresql/9.1/lpoops/pg_hba.conf。请注意,此配置更改需要在"请勿禁用"之前进行!
pg_hba.conf文件中的行。
---pg_hba.conf 2005-11-02 17:33:08.000000000-0800
++/tmp/pg_hba.conf 2005-11-03 07:32:46.932400423-0800
@-58,7+58,9@
在非本地接口上,通过"侦听地址"配置参数,
或通过-i或-h命令行开关。
127.0.0.1/32信任
如果本地主机使用IPv6,您需要在上面的行下面加一行。
host a ll::1/128 trust
启动群集。
$sudo pg_ctlcluster 9.1 lpoops start
将您自己的用户添加到群集:
$sudo-u postgres createuser-a-d$user--port 5433
使用--password使用密码创建数据库。
删除数据库:
$dropdb lpoops--端口5433
$dropuser lpoops--端口5433
传递要生成的
dbport变量,它将使用提供的
值生成配置文件。
*`make dbport=$port`
*在oops tools目录的根目录下运行bin/django syncdb
*run bin/django migrate
*`make run`http://localhost:8000/oops
========
==oopstools的新闻
=======
====
<0.6.7
=
*允许提供多个项目/项目组进行修剪。
(robert collins,#1003627)
0.6.6
=
Brown Paper Bag版本。
*修复阻止新Timeline django代码安装或正常工作的错误。(罗伯特·柯林斯)
0.6.5
==
*与Timeline Django的非中断版本的依赖性碰撞。(罗伯特·柯林斯)
0.6.4
==
*oops工具现在依赖于更新的djangoRecipe、django 1.3.3和
oops datedir repo 0.0.19。对于1050722,-repo dependency bump获得了磁盘清理的类似修复
。(robert collins)。
*由oops工具本身生成的oops报告现在将包括来自timeline的django event
数据。如果需要,可以通过禁用oopstools.wsgi中的
oops_timeline挂钩来禁用此功能。(robert collins)
*修剪时,请查找迄今为止的OOPS引用,而不是直到修剪为止。否则,我们将错过在上一周创建的任何引用,可能只有在发生oops
的24小时内才能找到引用。(威廉·格兰特,1050722)
0.6.3
==
*报表有一个可设置的每个报表电子邮件地址,允许不同的
报表转到不同的地址。(robert collins)
*可以为非ascii oops主题创建html报告。
(robert collins,1048470)
0.6.2
==
*如果损坏的时间线对象不是列表,
或列表行太短或太长,则处理它们会更为优雅。(robert collins,890001)
*处理AMQP源的OOP失败时,现在将写出
失败的OOP的磁盘副本的路径,以便于调试。
(robert collins,)
*Django Web UI中的失败现在将引发AMQP上的OOP,使oops工具成为oops工具公司NSUMER。(robert collins)
*在amqp2disk中记录oops收据时刷新stdout。
(robert collins,884569)
*主机名现在显示在oops详细信息页中。这使得
能够确定某个主机是否有问题。(robert collins)
*长oops id(很可能是散列)不再应用旧的appserver id
启发式方法:如果它们有一个丢失的或空的报告者,则它们与实例"unknown"关联。(robert collins,889982)
*现在可以在web ui中查找混合大小写oops报告,而不必使用其
oops前缀(如果有)。(robert collins,884571)
*现在使用lp源依赖项而不是lazr,作为简化许多相关lp项目维护的一部分。(robert collins)
*旧的oops报告可以使用新的脚本bin/prune清除。
(robert collins)
*oops报告如果不符合请求变量的常规规则,则会得到更好的处理。
(robert collins,william grant,roman yepishev,885416,#884265)
*report timelines现在包括每个事件的回溯,这样可以更容易地确定事件的起源(例如,为什么要查找某些内容)。
没有此信息的时间线将在oops页上的相关
列中显示"未知"。(robert collins,890976)
*oops reporter字段(或已知的前缀)现在显示在oops details页面中。(robert collins)
*前缀和appinstance值现在可以长达100个字符。
(robert collins,892917)
*OOPS报告中的req vars变量现在可能是一个dict。
(robert collins,#888866)
<0.6.1
==
*通过bin/amqp2disk脚本添加了amqp支持。(robert collins)
*将oops amqp rev提高到0.0.3以修复错误。(robert collins)
*如果提供了--bind to,amqp2disk现在将创建扇出交换。
(robert collins)
*amqp2disk-v将在控制台上打印接收到的oops id,用于
娱乐和娱乐。(robert collins)
*具有非ascii url值的oops报告通过url转义url
bytestring(这与处理unicode url值不同)来处理。
(Roman Yepishev,robert collins,#881400)
*带有Unicode URL值的OOPS报告现在在OOPS加载过程中处理:
Unicode字符串是UTF8编码的(任意选择)和URL转义。
(robert collins,879309)
*没有主题的OOPS报告(以前称为pageID)将不再使用它们的
改为url。而是使用"",报告将显示空的
pageid未知。(robert collins,880641)
0.6
===
*初始版本
*添加对测试工具和夹具的依赖,以进行更清洁的测试。
*使用面向对象的加载和非顺序的面向对象的操作修复比赛条件。当rsync与oops加载同时写入时,或者如果使用了非顺序发布器,则会发生这种情况。(robert collins,667373)
*更新至oops datedir repo 0.0.7,并添加对bson序列化oopse的读取
(这些oopse更具扩展性和更容易解析)。(罗伯特·柯林斯)
此文件是oopstools的一部分
2009-2011 Canonical Ltd.版权所有。保留所有权利。
此程序是免费软件:您可以根据由
免费的软件基础,许可证的版本3,或BR/>(按您的选择)任何版本。BR/> BR/>此程序被分发,希望它是有用的,
但没有任何保证;甚至没有
适销性或特定用途适用性的隐含保证。有关详细信息,请参阅gnu-affero通用公共许可证。
您应该已经收到gnu-affero通用公共许可证的副本。如果没有,请参见http://www.gnu.org/licenses/>;
>这是一个用于分析oops报告的django应用程序
(请参见https://launchpad.net/python oops)。
请参见https://dev.launchpad.net/lazrstyleguide和
https://dev.launchpad.net/hacking如何在这个
包中开发。
dependencies
==
launchpad上的
lazr source dependencies分支提供所有依赖项(数据库包除外)。只需键入make就可以设置
dependencies egons的下载缓存,然后创建构建。
在调用make之前,只需将lazr_sourcedeps_dir设置为
包含下载缓存和eggs目录的目录即可。
在apache和mod_wsgi下运行(推荐)
*libapache2 mod wsgi包
在apache和mod python下运行
*libapache2 mod python包
用数据库配置和oops目录路径更新副本:
[配置]
db name=/path/to/your/oops.db
索引模板='index.html'
oopsdir=/path/where/rsynced/oopses/are/found
/另一个/such/path
update settings.py设置自定义密钥和适当的amqp连接
详细信息(以便oops工具网站本身可以报告错误,如果出现这种情况,
要部署oops工具,请确保安装了所有依赖项。
*bin/buildout-c yourfilename.cfg
*run bin/django syncdb
*run bin/django migrate
*copy apache/oops-tools.dev.mod/etc/apache2/sites available/
amqp integration
==要使用它,您需要配置oops
创建以通过amqp发布。如果您使用的是python,那么oops amqp
模块将帮助您做到这一点。
django web ui还与amqp集成,以报告出现的错误
呈现或搜索oops报告。控制此操作的设置位于
settings.py(或在编译为
settings.py的配置文件中)。
在本地运行
====
有时启动板开发人员希望运行oops工具来帮助在本地分析生成的oops报告。
第一步是设置本地数据库。
您需要另一个群集来运行oops工具数据库。
为lpoops创建一个新群集:
$lc_a ll=c sudo pg_create cluster 9.1 lpoops—编码Unicode—端口5433
将以下修补程序应用于/etc/postgresql/9.1/lpoops/pg_hba.conf。请注意,此配置更改需要在"请勿禁用"之前进行!
pg_hba.conf文件中的行。
++/tmp/pg_hba.conf 2005-11-03 07:32:46.932400423-0800
@-58,7+58,9@
在非本地接口上,通过"侦听地址"配置参数,
或通过-i或-h命令行开关。
127.0.0.1/32信任
如果本地主机使用IPv6,您需要在上面的行下面加一行。
host a ll::1/128 trust
启动群集。
$sudo pg_ctlcluster 9.1 lpoops start
将您自己的用户添加到群集:
$sudo-u postgres createuser-a-d$user--port 5433
使用--password使用密码创建数据库。
删除数据库:
$dropdb lpoops--端口5433
$dropuser lpoops--端口5433
传递要生成的
dbport变量,它将使用提供的
值生成配置文件。
*`make dbport=$port`
*在oops tools目录的根目录下运行bin/django syncdb
*run bin/django migrate
*`make run`http://localhost:8000/oops
========
==oopstools的新闻
=======
====
<0.6.7
=
*允许提供多个项目/项目组进行修剪。
(robert collins,#1003627)
0.6.6
=
Brown Paper Bag版本。
*修复阻止新Timeline django代码安装或正常工作的错误。(罗伯特·柯林斯)
0.6.5
==
*与Timeline Django的非中断版本的依赖性碰撞。(罗伯特·柯林斯)
0.6.4
==
*oops工具现在依赖于更新的djangoRecipe、django 1.3.3和
oops datedir repo 0.0.19。对于1050722,-repo dependency bump获得了磁盘清理的类似修复
。(robert collins)。
*由oops工具本身生成的oops报告现在将包括来自timeline的django event
数据。如果需要,可以通过禁用oopstools.wsgi中的
oops_timeline挂钩来禁用此功能。(robert collins)
*修剪时,请查找迄今为止的OOPS引用,而不是直到修剪为止。否则,我们将错过在上一周创建的任何引用,可能只有在发生oops
的24小时内才能找到引用。(威廉·格兰特,1050722)
0.6.3
==
*报表有一个可设置的每个报表电子邮件地址,允许不同的
报表转到不同的地址。(robert collins)
*可以为非ascii oops主题创建html报告。
(robert collins,1048470)
0.6.2
==
*如果损坏的时间线对象不是列表,
或列表行太短或太长,则处理它们会更为优雅。(robert collins,890001)
*处理AMQP源的OOP失败时,现在将写出
失败的OOP的磁盘副本的路径,以便于调试。
(robert collins,)
*Django Web UI中的失败现在将引发AMQP上的OOP,使oops工具成为oops工具公司NSUMER。(robert collins)
*在amqp2disk中记录oops收据时刷新stdout。
(robert collins,884569)
*主机名现在显示在oops详细信息页中。这使得
能够确定某个主机是否有问题。(robert collins)
*长oops id(很可能是散列)不再应用旧的appserver id
启发式方法:如果它们有一个丢失的或空的报告者,则它们与实例"unknown"关联。(robert collins,889982)
*现在可以在web ui中查找混合大小写oops报告,而不必使用其
oops前缀(如果有)。(robert collins,884571)
*现在使用lp源依赖项而不是lazr,作为简化许多相关lp项目维护的一部分。(robert collins)
*旧的oops报告可以使用新的脚本bin/prune清除。
(robert collins)
*oops报告如果不符合请求变量的常规规则,则会得到更好的处理。
(robert collins,william grant,roman yepishev,885416,#884265)
*report timelines现在包括每个事件的回溯,这样可以更容易地确定事件的起源(例如,为什么要查找某些内容)。
没有此信息的时间线将在oops页上的相关
列中显示"未知"。(robert collins,890976)
*oops reporter字段(或已知的前缀)现在显示在oops details页面中。(robert collins)
*前缀和appinstance值现在可以长达100个字符。
(robert collins,892917)
*OOPS报告中的req vars变量现在可能是一个dict。
(robert collins,#888866)
<0.6.1
==
*通过bin/amqp2disk脚本添加了amqp支持。(robert collins)
*将oops amqp rev提高到0.0.3以修复错误。(robert collins)
*如果提供了--bind to,amqp2disk现在将创建扇出交换。
(robert collins)
*amqp2disk-v将在控制台上打印接收到的oops id,用于
娱乐和娱乐。(robert collins)
*具有非ascii url值的oops报告通过url转义url
bytestring(这与处理unicode url值不同)来处理。
(Roman Yepishev,robert collins,#881400)
*带有Unicode URL值的OOPS报告现在在OOPS加载过程中处理:
Unicode字符串是UTF8编码的(任意选择)和URL转义。
(robert collins,879309)
*没有主题的OOPS报告(以前称为pageID)将不再使用它们的
改为url。而是使用"",报告将显示空的
pageid未知。(robert collins,880641)
0.6
===
*初始版本
*添加对测试工具和夹具的依赖,以进行更清洁的测试。
*使用面向对象的加载和非顺序的面向对象的操作修复比赛条件。当rsync与oops加载同时写入时,或者如果使用了非顺序发布器,则会发生这种情况。(robert collins,667373)
*更新至oops datedir repo 0.0.7,并添加对bson序列化oopse的读取
(这些oopse更具扩展性和更容易解析)。(罗伯特·柯林斯)