python守护进程,它咀嚼日志并将其内容发送到logstash

Beaver的Python项目详细描述


===
海狸
==


…图片::https://travis-ci.org/python-beaver/python-beaver.svg?branch=master
:目标:https://travis ci.org/python beaver/python beaver

…图片::https://coveralls.io/repos/python-beaver/python-beaver/badge.svg?branch=master&service=github
:目标:https://coveralls.io/github/python-beaver/python-beaver?branch=master



要求
==

*可选的zeromq支持:安装libzmq(``brew install zmq``或``apt get install libzmq dev`)和pyzmq(``pip install pyzmq==2.1.11``)











>使用pip从github:






>使用pip安装git+git://github.com/python beaver/python beaver/python beaver.git@36.3.3.1 35; egg=beaver beaver








=>pip安装beaver==36.3.1.1









满负荷文档可以在线访问http://python beaver.readthedocs.org/


>您还可以在本地生成文档:

ild html输出
cd beaver/docs
make html

html docs将在"beaver/docs/u build/html"中提供。


contribution
==


在为beaver提供内容时,请查看此处的完整指南:https://github.com/python-beaver/python-beaver/blob/master/contribution.md.
如果您愿意,可以打开一个问题,让其他人知道您正在进行的工作。必须包含文档,并且测试必须通过Python2.6和2.7才能接受拉取请求。

credits
=



基于Giampalo和Lusis的工作:


Real Time Log Files Watcher支持日志轮换。

原始作者:Giampalo Rodola'<;g.rodola[at]gmail[dot]com>;
http://code.activestate.com/recipes/577968-log-watcher-tail-f-log/


>许可证:mit


>其他黑客(zmq、json、optparse,…):lusis



==

<36.3.1(2019-04-03)
-----要求PIKA版本低于1.0.0。[迈克尔内容]



36.3.0(2018-10-14)
————————————————————————————[何塞·迪亚兹·冈萨雷斯]


其他
~~~~~
-修复rabbitmq_参数系统属性中的错误。[eroberts]
-添加任意rabbitmq参数-更新传输以分析
参数-更新config.py以添加系统属性-更新用户
使用文档-确认如果未传递参数
,则功能不会更改。[eroberts]
-使用修复。[scott brenner]

修复了丢失/不正确的TCP选项。
-删除32766个字符之后的日志行截断(422)[robert
wunder]

*删除32766个字符之后的日志行截断

对beaver可以
处理的行的长度设置任意限制。

*固定测试的pin moto版本

*当日志文件以空行结束时,多行regex不会工作

*revert"当日志文件以空行结束时,多行regex不会工作"

is还原commit 5196789916afa184beb71a0ef86344d7580d9136。


*fix readme link

*remove truncating of logline after 32766 chars


处理。
-修复自述链接。[Jamie Cressey]
-当日志文件以空的行结束时,还原"之前的多行regex"将不起作用[Jamie Cressey]

这将还原提交5196789916afa184beb71a0ef86344d7580d9136。
-multi当日志文件以空行结束时,以前的ine_regex_将不起作用。
[jeroenmalbranke]
-固定moto版本以修复测试。[jamie cressey]
-修复主键重用问题。[javier villar]
-将批记录数限制为500,因为这是运动
限制。[greg sterin]
-更新用户进程配置的编号文档。[greg sterin]
-如果文件已删除,请避免出现未引用变量"st"错误。如果os.stat中出现无法识别的环境错误,则引发异常。[greg
sterin]
-修复github链接。[Robin Baumgartner]

项目已重命名为"Python Beaver",但链接并不反映此更改。



36.2.0(2016-04-12)
---------
-将Mosquito替换为用于MQTT传输的PAHO MQTT。[justin van
heerde]
-添加日志文件以限制大小旋转。[飞翔企鹅]
-修复readme.rst文档链接。[安德鲁·格里戈列夫]



36.0.1(2016-01-13)
----
-修复rst lint的readme.rst格式。[Jose Diaz Gonzalez]
-移除标签并使用"except."as."[eyj]
-尝试通过连接剩余的线程来修复挂起测试。[eyj]
-修复成功重新连接后发生的队列超时。[eyj]
-修复rabbitmq重新连接行为以使用beaver reconnect
机制。[EYJ]
-正在迁移回购位置。[杰米·克雷西]
-特写镜头。[jamie cressey]
-正在修复格式。[jamie cressey]
-更改指南并添加自述文件参考。[jamie cressey]
-添加有帮助的指导原则。[Jamie Cressey]



36.0.0(2015-12-15)
----
-将最大队列大小添加到文档中。[jamie cressey]
-固定kafka python版本。[jamie cressey]
-确保我们使用最新版本的kafka python进行测试。[杰米
cressey]
-尝试在失败时重新连接到卡夫卡。[Jamie Cressey]
-添加SQS测试。[jamie cressey]
-从travisci运行中排除gh页面。[jamie cressey]
-将覆盖率结果添加到自述文件中。[jamie cressey]
-添加覆盖率测试。[jamie cressey]
-我们说py2.6+是一个要求,但是测试是否真的通过了2.6?
[jamie cressey]
-暂时不要测试py3……[jamie cressey]
-测试python 3.x.[jamie cressey]
-使用新的travis配置。[jamie cressey]
-添加请求作为依赖项。[Jose Diaz Gonzalez]

关闭304
-在发布时运行Debian版本。[大卫·莫拉维克]
-支持旧的和新的皮卡。[tim stoop]
-重新连接到丢失的rabbitmq。[tim stoop]
-删除旧的工人代码,而使用现在还没有实验性的尾管理器。[何塞·迪亚兹·冈萨雷斯]



35.0.2(2015-12-03)
---------
-使用SQS大容量行标志时写入SQS对象而不是DICT。
[jamie cressey]



<35.0.1(2015-11-26)
----
-删除autospec属性。[Jose Diaz Gonzalez]


由于某种原因,这个mock selectconnection上的属性设置被中断。
-使用所有命名参数将pika版本固定到版本。[何塞·迪亚兹-
冈萨雷斯]
-把卡夫卡和一个已知的好版本联系起来。[何塞•迪亚兹•冈萨雷斯]



35.0.0(2015年11月26日)
----
-删除gitchangelog.rc。[何塞·迪亚兹·冈萨雷斯]
-合并更改。[jamie cressey]
-添加配置选项忽略旧文件。[Ryan Steele]

-支持写入多个redis命名空间。[Andrei Vaduva]
-添加对多个SQS队列的支持。[Jamie Cressey]
-确保日志行符合UTF-8标准。[杰米·克雷西]

此PR确保所有日志行在格式化传输时正确符合UTF-8。
-将超时设置为1秒。[tim stoop]

将默认值降低到.25,这是Pika的默认值。"[tim
stoop]


这将恢复提交17157990A272E458CC9253666F01C6002B84BDA8。
-将默认值降低到.25,这是Pika的默认值。[蒂姆弯腰]

根据@kitchen的建议。
-rabbitmq超时的pieter补丁。[tim stoop]
-配置变量默认值输入错误。[jamie cressey]
-修复回归的更改。[jamie cressey]
-能够在单个sqs消息中发送多个日志条目。[jamie
cressey]
-将aws配置文件身份验证添加到sqs传输。[Jamie Cressey]



34.1.0(2015-08-10)
----
-添加AWS SNS作为传输选项。[Jamie Cressey]



34.0.1(2015-08-07)
----
-恢复由
D159EC579C01B8FAB532B381C64B0FF8B2063FF引起的一些故障。[Jose Diaz Gonzalez]

关闭331
-设置命令的默认值。[Jose Diaz Gonzalez]
-323-修复使用Pika SelectConnection运行的测试。[tom kregenbild]
-323-将rabbitmq transport_on_open_connection_error函数修复为打印连接错误。[汤姆·克里根比尔德]
-3231.添加具有队列大小的清除调试打印(为了不影响性能,每1000
项打印一次)2。如果主队列为空,则保持
运行,不执行任何操作3。如果主队列超时,请重新启动
队列。[tom kregenbild]
-323-将rabbitmq pika更改为使用异步selectconnection
,而不是阻塞连接以获得更好的性能。[Tom Kregenbild]
-323-添加在使用--实验标志运行时创建其他进程以增加队列使用者数量的功能。
[Tom Kregenbild]
-323-添加通过创建其他进程来增加队列使用者数量的功能[tom kregenbild]
-323-在调试模式下打印当前队列大小和传输总数
,以查找传输速率问题。[tom
kregenbild]



34.0.0(2015-07-24)
----
-添加了SSL TCP密钥文件支持。[babbleshack]
-将configuration dir和debian bin重命名为python beaver。[david
moravek]
-将debian包重新命名为python beaver。[david moravek]
-Debian包装代码审查;thx@mnicky。[david moravek]
-改进debian的包装。[david moravek]
-在未安装zmq时修复测试。[david moravek]
-修复python 2.7的测试(添加funcsigs测试依赖项)[david
moravek]
-将徽章移到标题下方。[Jose Diaz Gonzalez]
-为数据类型添加常量,在init中验证,使用回调映射。
[Hector Castro]
-将数据类型方法条件移到循环外。[Hector Castro]
-为Redis传输添加通道支持。[Hector Castro]

此变更集增加了对将日志条目发布到redis
通道的支持,logstash的redis输入也支持该通道。

beaver配置文件现在可以提供"redis数据类型"键。此键的有效
值为"list"和"channel"。如果未设置,则默认值为"list"。


尝试解析266。
-使用stomp.py为海狸引入了stomp传输。[peter
lenderyou]
-修复对configparser错误类的引用。[Jose Diaz Gonzalez]
-redis传输:处理多个连接并以循环方式使用它们。[音乐]
-根据规格修复GELF格式。[Marvin Frick]

tcp发送。
-kafka循环分区器。[david moravek]
-解决错误:无法将参数转换为整数。[Theofilis George-
Nektarios]


见312



<33.3.0(2015-04-08)
———————————————————————————————————————————————————————————————————[oleg rekutin]


还修复了前面http
传输示例部分的格式问题。
-添加一个gelf格式设置程序。[奥列格·雷库廷]

短消息被截断为250个字符,只有第一行被保留。与http post输出配对,直接写入graylog2。
-issue 305,接受任何2xx代码进行http_u传输。【Oleg-Rekutin】



33.2.0(2015-03-11)
----
-改进的卡夫卡试验。[marcel casado]
-在用户文档中添加了kafka传输使用的示例。[marcel
casado]
-添加了占位符"dist"目录以下载kafka二进制文件。[marcel
casado]
-增加了对kafka传输的集成测试支持。[marcel casado]
-在try catch中包装了kafka client init。[Marcel Casado]
-初始卡夫卡传输实现。[marcel casado]
-更新配置示例和文档。[jonathan sabo]
-添加对不同帐户中sqs队列的支持。[乔纳森·萨博]



33.1.0(2015-02-04)
—————————————————————————————————————————————————————————————————————————[florian hopf]

[graham
floyd]
-添加消息的批大小检查,因为sqs只能处理
批中的256kib。如果消息批处理为10条消息或>;=250kib,则刷新队列。
[lance o'connor]
-解释了rabbitmq_delivery_mode的有效值和含义。[fabio
coatti]
-添加RabbitMQ_delivery_mode配置
参数的文档。[fabio coatti]
-除了语法上的小变化。这将使快乐蟒蛇3和
也在2.6和更高版本中工作。[Fabio Coatti]
-发送消息时,现在我们可以根据主配置选项
RabbitMQ_delivery_mode告诉RabbitMQ我们想要哪种传输模式。[fabio coatti]
-为rabbitmq deliverymode添加了配置选项。基本上,它的工作方式类似于布尔值,但是如果允许值为1和2,我们就将其视为整数并进行验证。[Fabio Coatti]
-删除newline。[fabio coatti]
-在文档中添加了特定于节的redis_名称空间键。[fabio
coatti]
-在逗号后添加一个空格,更符合python风格指南。
[fabio coatti]
-还原"忽略的eric文件"[fabio coatti]


这将还原commit ea2a6b27437570aeda3ee53b6ebd7ebb1f4f2a。

如建议的,不要使用它。gitignore:)
-这将small commit允许在配置文件(节)的文件节
中指定redis命名空间。基本上,beaver检查是否为当前文件定义了
redis_命名空间。如果是,它将用于redis负载。如果不是(或为空),beaver将使用在global部分中指定的
redis_名称空间值。[fabio coatti]
-添加了一个节(节)配置选项,以便能够指定redis名称空间。如果设置,它将覆盖main部分中的名称空间集
。默认值为空。[fabio coatti]
-忽略eric文件。[fabio coatti]
-从win32上的要求中删除"python daemon"。[Ryan Davis]

如果我们在Windows上安装,则不需要"python daemon"。这个
修复了当
尝试安装"python daemon"时试图"pip install beaver"错误的问题。

refs 141
-为travis ci badge使用新的存储库名称。[Jose Diaz Gonzalez]



33.0.0(2014年10月14日)
——————————————————————————————————————————————————————————————————————[jose
diaz gonzalez]
-添加gitchangelog.rc以修复变更日志生成。[Jose Diaz Gonzalez]



32(2014-10-14)
----
-允许配置文件覆盖日志文件的设置。[亚伦
法国]
-海狸停止时强制更新sincedb。[Pierre Fersing]
-修复了sincedb_write_间隔(错误229)。[pierre fersing]
-修复config.get('ssh_options')[svengerlach]

-根据DH Virtualenv。[何塞·迪亚兹·冈萨雷斯]
-zmq3将硬件分为sndhwm/rcvhwm。关闭246。[皮特·弗里奇曼]
-修复usage.rst中的拼写错误。[雨果·洛佩斯·塔瓦雷斯]

-固定徽章,仅指向主分支。[何塞·迪亚兹·冈萨雷斯]



31(2014-01-25)
————————————————————————————————————————————————————————————————————————————————————————[mathieu lecarme]


使用文件夹是debian上redis使用的策略。


其他
~~~~
-添加所需的间距以读取正确的pypi文档支持。[Jose
Diaz Gonzalez]
-更改发布过程以包括文档处理。[jose
diaz gonzalez]
-使用globsafeconfigparser解析配置文件。[clay pence]

为了支持所有类型的globs,请将globsafeconfigparser
传递到配置对象中,以便它正确解析节头





这将修复从主目录运行时正常运行的单元测试。
-修复redis_transport.py redis异常处理。修正238。[hugo
lopes tavares]
-尝试修复内存泄漏。关闭186。[Jose Diaz Gonzalez]
-允许使用较新版本的Boto。关闭236。[Jose Diaz-
Gonzalez]
-运送日志时,使用毫秒精度时间戳。[Ryan Park]

@timestash 1.3.2的
@timestamp字段中的微秒精度时间戳有问题,这是python的.isoformat
方法的默认行为。logstash使用jodatime库解析时间戳,而joda
不支持纳秒时间戳解析。因此,logstash
1.3.2对从beaver发送的每个日志项都抛出异常。


logstash用户邮件列表中有一个关于此问题的讨论,
包括logstash异常的示例:
https://groups.google.com/forum/!topic/logstash users/wizdv15iefs

此修补程序将@timestamp的精度降低到毫秒,这应该可以纠正beaver 1.3.2的问题。
-提高与区分大小写文件系统的兼容性。[Jose Diaz-
Gonzalez]
-修改测试用例以支持Logstash_版本。[Jose Diaz Gonzalez]
-记录Logstash_版本的用法。[peter burkholder]
-将add_field_env选项添加到配置文件中,以允许使用环境中的值添加字段。[兰斯•奥康纳]

关闭214
-向rabbitmq传输添加ssl/tls支持。关闭217。[乔纳森
哈克]
-添加了http传输选项。关闭218。[jeff bryner]
-添加缺少的配置文件选项"rabbitmq_queue_durable"。[丹尼尔
whelan]
-`stricredis.from_url`比自己动手做要好。[kristian glass]

注意当前"fakeredis"不支持"from_url"--这阻止了https://github.com/jamesls/fakeredis/pull/29上的
正在合并(相应地,'tests.txt'中的
缓冲版本要求)
-python 2.6 configparser不处理非字符串修复输入错误。
[tommyulfsparre]
-不要将空对象添加到输入列表。[tommyulfsparre]
-在tail manager中导入线程库,因为我们想使用它。
[chris roberts]
-将ssl添加到tcp传输。[Simon McCartney]
-将所有文档重定向到ReadtheDocs。参考文献150。[Jose Diaz Gonzalez]
-重新阅读DOCS支持。关闭150。[Jose Diaz Gonzalez]
-将生产商转换为流程。允许定时生产者剔除。[克里斯
罗伯茨]
-让消费者检查螺纹,以防止楔状状态。[克里斯罗伯茨]
-不要因为字符串解码异常而崩溃。[adam twardowski]
-在连接时将传输设置为有效(重新连接时正确重置)
[chris roberts]
-正确处理TCP传输中的发布失败。[起亚Mac
Innes]
-向Man添加配置选项创建ssh_选项。[andreas lappe]

此选项允许将所有ssh选项传递到隧道。
-修复版本查找。[Jose Diaz Gonzalez]
-将多行合并函数移到utils.py。[Pierre Fersing]
-支持多行和尾行选项。[Pierre Fersing]
-支持尾部版本中的多行事件。[Pierre Fersing]
-支持多行事件。[pierre fersing]
-忽略无效的rawjson日志。[tomoyuki sakurai]

这确保了beaver在其他应用程序以无效的json格式登录时仍能继续运行。
-从@source字段中删除了重复的self.\u当前主机。修复了180.
[alexander papaspyrou]



>30(2013-08-22)
----
-使用操作系统。[kristian glass]

根据http://thushw.blogspot.co.uk/2010/12/python不使用sysexit inside signal.html
信号处理程序中"sys.exit"的e表示引发
"systemexit"异常(http://docs.python.org/2/library/sys.html\sys.exit),try/except可以捕获该异常,但在处理信号时可能正在执行的块除外,这会导致beaver未能它
-允许字符串在分隔符中转义。[michael mittelstadt]

据我所知,我无法在配置文件中用configparser将换行符表示为分隔符。我想这样做:

[/ephemeral_storage/logs/kind_special.log]
tags:special
type:special
分隔符:\ n\n

caped,直到配置文件解析后
。我对python很幼稚,所以很有可能我犯了可怕的错误。这也将很容易允许对空值、制表符、Unicode字符和其他configParser可能找不到的
进行拆分。

/>线程安全,强制您只使用一个工作线程运行logstash。
-config-dir to confd-path。[iyingchi]
-为配置目录添加了-c选项的doc。[iyingchi]
-修复了readme.rst中的sqs_aws_secret_密钥示例。[乔纳森鹌鹑]
-允许路径为"无"。[lars hansson]

允许在配置文件管理器中将路径设置为空(无)。这样,可以在confd_path中的文件中配置所有文件和glob。
-修复zmq传输测试。[scott smith]
-将zmq地址配置解析移到主解析器中。[scott smith]
-允许指定要绑定/连接的多个zmq地址。[斯科特·史密斯]
-redis 2.4.11在pypi上不再可用。[Andrew Gross]

修复问题167
-添加TCP传输。[Kiall Mac Innes]
-隔离连接逻辑。提供适当的重新连接支持。[chris
roberts]
-更正了排除标记的文档。关闭157。[Jose Diaz-
Gonzalez]
-将缺少的sqlite3模块添加到文档中。[Andreas Lappe]
-测试状态。[Denis Orlikhin]
-Travis集成。[denis orlikhin]
-测试修复(conf_d在没有现有文件的情况下也可以工作)[denis orlikhin]
-隐式断开zmq错误处理。[Denis Orlikhin]



29(2013-05-24)
----
-不要在TailManager中对路径进行共享代码。关闭143。[jose diaz gonzalez]
-使用/etc/beaver/conf作为路径并提供conf.d示例。关闭149。
[jose diaz gonzalez]
-在argparse配置中为传输标志添加mqtt作为选项。
[jose diaz gonzalez]
-修复了损坏的mqtt传输命名。[Jose Diaz Gonzalez]
-重构beaversubprocess以将正在运行的命令作为
属性进行维护。[Jose Diaz Gonzalez]
-正确解析新部门的beaver conf.d路径ONS。关闭144。
关闭145。参考文献107。[Jose Diaz Gonzalez]
-使用缓冲标记器读取大/快的传入日志输入。参考文献
135。参考文献105。[Jose Diaz Gonzalez]
-在工作进程停止后关闭队列。参考文献135。[Jose Diaz-
Gonzalez]
-wrap manager.close()调用try/except模拟工作进程
dispatcher。[Jose Diaz Gonzalez]
-从"ssh_tunnel"选项正确解析端口。关闭142.
[jose diaz gonzalez]
-在beaversubprocess中对baselog类进行子类划分。参考文献142。[何塞·迪亚兹-
冈萨雷斯]
-将基本日志模块在层次结构中向上移动。参考文献142。[Jose Diaz-
Gonzalez]
-在Windows平台上禁用守护。关闭141。[Jose
Diaz Gonzalez]
-将旧式Worker中不匹配的文件移出for循环。参考文献139。
[jose diaz gonzalez]


每个工人都有一个"self.\u file\u map"属性,它是文件ID到文件数据的映射。在检索行或检查文件状态时,我们使用"iteritems()",它为我们提供一个生成器,而不是使用"items()"这样的副本。此生成器允许我们在文件上迭代,而不会出现文件句柄可能打开多次的问题或其他随机的python问题。


使用生成器还意味着我们正在迭代的集合不应在迭代过程中更改,如果文件不匹配,则会更改。为了避免这种情况,我们应该使用一个单独的列表来跟踪需要取消连接或重新发送的文件,并在带外执行这些操作。

-但在其他地方,

这应该可以解决logrotate突然导致文件消失一段时间,beaver试图在重新创建文件的确切时间结束文件的问题。
-在sqs文档中键入错误。[乔纳森鹌鹑]
-删除ujson要求。[Jose Diaz Gonzalez]

这允许部署区域中没有编译器的用户安装Beaver。


关闭137
-在非后台程序上下文中运行时打开日志文件输出。关闭
131.[Jose Diaz Gonzalez]
-展开日志输出路径。关闭133。[Jose Diaz Gonzalez]
-确保对文件的日志记录不会破坏常规日志记录。关闭
132.[Jose Diaz Gonzalez]
-通过记录警告而不是
崩溃来正确处理无法读取的文件。关闭130。[Jose Diaz Gonzalez]
-在BaseTransport类中将空格式化程序重命名为原始格式化程序。[jose
diaz gonzalez]
-确保redistransport调用super invalidate方法。参考文献
93。[Jose Diaz Gonzalez]
-修复未正确检测输入类型的问题。[jose
diaz gonzalez]
-使用日志文件标志将所有输出发送到守护进程上下文中的文件。
[jose diaz gonzalez]
-展开pidfile创建路径。[Jose Diaz Gonzalez]
-当数据存储变得不可检查时,正确处理redis重新连接。参考文献93。[Jose Diaz Gonzalez]
-"类型"而不是"交换类型"。[pravir
chandra]
-添加选项以使队列持久和高可用性。[pravir chandra]
-在稳定工作进程中尊重stat_interval文件配置。[Jose Diaz-
Gonzalez]
-使用conf_d模块的统一配置文件。[Jose Diaz Gonzalez]

此更改增加了对conf.d目录的支持-仅通过"--confd path"标志配置-允许Beaver从多个文件读取配置。

igfile参数。任何其他此类"beaver"节都将被忽略。

此更改还统一了"beaverconfig"和"fileconfig"类,并简化了检索全局与文件特定数据的api。

用于创建传输类的接口已更改。如果您在任何地方引用"file_config.get(field,filename)",请省略此项并引用"beaver_config.get_field(field,filename)"。

关闭107
-hack以防止愚蠢的类型错误:通过
setup.py运行测试时出现"nonetype"。[Jose Diaz Gonzalez]
-正确处理达尔文架构上的旋转文件。[Jose Diaz-
Gonzalez]
-记录到调试,而不是警告在Darwin
架构上重新加载文件。[何塞·迪亚兹·冈萨雷斯]
-加快实验工人的速度。[Jose Diaz Gonzalez]

-删除了内联睡眠调用,它会减慢n*0.1秒的速度,其中n是被跟踪的文件数
-更新数据结构的内联方法,这将加快更大的安装速度
-使self.active()成为属性查找,而不是方法调用
-使用最新版本的消息包接口(0.3.0)。关闭128.
[jose diaz gonzalez]
-阅读python需求的替代方法。[justin lambert]
-修复从原始工作进程发送到队列的选项。参考文献119。[何塞•迪亚兹-
冈萨雷斯]
-允许用户忽略logrotate中的copytuncate结果。
参考文献105。[Jose Diaz Gonzalez]
-修复RPM包构建。关闭123。[何塞·迪亚兹·冈萨雷斯]
-增加了海狸的实验尾巴版本。[Jose Diaz Gonzalez]
-开始从一个无所不知的工人到个体的尾巴对象。[Jose Diaz Gonzalez]
-修复Kwargs呼叫。[Jose Diaz Gonzalez]
-向MQTT传输添加格式。关闭115。[Jose Diaz Gonzalez]
-从回调中检索更多数据以最小化字典查找。[Jose
Diaz Gonzalez]
-尽可能选择单引号而不是双引号。[何塞·迪亚兹-
冈萨雷斯]
-确保stat_interval和tail_line都是整数值。[Jose
Diaz Gonzalez]
-按字母顺序排列文件配置变量。[Jose Diaz Gonzalez]
-确保调试标志是布尔值。[Jose Diaz Gonzalez]
-遵循Logstash Covention的"format"而不是"Message_format"
[Jose Diaz Gonzalez]
-使用传入的"ignore_empty"字段,而不是
队列模块中的文件配置查找。[Jose Diaz Gonzalez]
-与更新文件映射时间相比,更喜欢发现间隔。[何塞·迪亚兹-
冈萨雷斯]
-修复传输异常导入。关闭122。[Jose Diaz Gonzalez]
-ssh隧道的自动重新连接机制。[michael franz aigner]
-使用另一种读入需求的方法。参考文献120。[Jose
Diaz Gonzalez]
-修复dispatcher.py中reopen_files常量的导入。[何塞·迪亚兹-
冈萨雷斯]
-修复PEP8违规。[Jose Diaz Gonzalez]
-确保所有文件都是UTF-8编码的。[Jose Diaz Gonzalez]
-传输模块中的命名空间传输类。[Jose Diaz-
Gonzalez]
-允许通过参数指定调试模式。[Jose Diaz Gonzalez]
-为datetime调用添加了线程安全性。[Jose Diaz Gonzalez]
-增加了对消息格式的支持。关闭91。[Jose Diaz Gonzalez]
-添加msgpack_pure作为基于C的msgpack包的回退。[Jose Diaz-
Gonzalez]
-修复sincedb实现中的问题。参考文献116。[Jose Diaz Gonzalez]
-检查开始位置时修复铸造问题。[Jose Diaz Gonzalez]
-正确处理队列。完全异常。[Jose Diaz Gonzalez]
-更多日志记录。[Jose Diaz Gonzalez]
-在配置解析时展开sincedb路径。[Jose Diaz Gonzalez]
-忽略since.db文件。[Jose Diaz Gonzalez]
-简化了SINCEDB支持以处理边缘情况。参考文献116。[何塞
迪亚兹·冈萨雷斯]
-删除错误的打印。[Jose Diaz Gonzalez]
-在配置节中添加了对文件排除的支持。关闭106.[jose
diaz gonzalez]
-向eglob添加了python regex排除支持。参考文献106。[何塞·迪亚兹-
冈萨雷斯]
-pep8.[Jose Diaz Gonzalez]
-添加了一个测试目录,其中包含一些来自用户的示例测试。[何塞·迪亚兹-
贡zalez]
-将"sincedb_write_interval"选项转换为整数。参考文献116。
[何塞·迪亚兹·冈萨雷斯]
-将记录器调用移动到更智能的位置。[Jose Diaz Gonzalez]
-确保在打开文件时使用正确的编码。关闭
104。[Jose Diaz Gonzalez]
-使用classmethod open()集中读取文件[Jose Diaz Gonzalez]
-修复了尾线未正确发送到
回调的问题。[Jose Diaz Gonzalez]
-从Worke中删除不必要的参数。\uu init_uuu()[Jose Diaz Gonzalez]
-使用Unicode强制解析非Unicode文件。[jose diaz-
gonzalez]
-将utf-8设置为所有python文件的默认编码。[何塞·迪亚兹-
冈萨雷斯]
-修复了pyflakes问题。[rtoma]
-列表的语法修复。[rtoma]
-在未指定pid路径的后台程序中运行时引发断言错误。关闭112。[Jose Diaz Gonzalez]
-添加对忽略空行的支持。[Jose Diaz Gonzalez]
-正确地从字符串转换布尔值。[Jose Diaz Gonzalez]
-确保所有部分在开始时都有正确的值。[何塞·迪亚兹-
冈萨雷斯]
-确保内部文件配置状态已更新。[Jose Diaz Gonzalez]
-从工人类传入时间戳,以获得更精确的时间戳,而发送速度的代价是
。[Jose Diaz Gonzalez]
-将时间戳检索集中到基本传输类。[Jose Diaz-
Gonzalez]
-增加了对gzip文件的支持。参考文献39。[jose diaz gonzalez]
-增加了对基于sqlite3的sincedb的支持。参考文献6和39。[Jose Diaz-
Gonzalez]
-重构的Worker,以便将更多数据添加到
文件映射中。[Jose Diaz Gonzalez]
-重构seek-to-end以正确支持文件跟踪。[Jose Diaz-
冈萨雷斯]
-增加了对pubsub zmq的支持。[Jose Diaz Gonzalez]
-增加了对Mosquito传输的支持。[Jose Diaz Gonzalez]
-增加了对指定文件编码的支持,使用io.open与os.open。
[Jose Diaz Gonzalez]
-修复数据中可能不存在字段的问题。[jose diaz-
gonzalez]
-增加了对rawjson格式的支持。[Jose Diaz Gonzalez]
-修复了ZeroMQ测试。[Jose Diaz Gonzalez]
-增加了SQS运输。[乔纳森鹌鹑]
-修复过时的运输单据。[Morgan Delagrange]



28(2013-03-05)
----
-beaversubprocess现在是一个新的样式类。修复ssh_隧道。[何塞
diaz gonzalez]



27(2013-03-05)
----
-修复beavershstunnel中未调用超级方法的问题。[Jose
Diaz Gonzalez]



26(2013-03-05)
----
-为传输添加可选的重新连接支持。参考文献93。[何塞·迪亚兹-
冈萨雷斯]
-添加检查传输有效性的方法。参考文献93。[Jose
Diaz Gonzalez]
-添加了可配置的子进程轮询睡眠。[Jose Diaz Gonzalez]
-在beaversubprocess轮询中添加deafult睡眠超时。[Jose Diaz-
Gonzalez]
-使用更长的睡眠时间来解决redis的ssh连接问题。[Jose Diaz Gonzalez]



25(2013-03-05)
----
-检查时使用true而不是1。[Jose Diaz Gonzalez]
-修复孤立子进程。关闭103。[何塞·迪亚兹·冈萨雷斯]



24(2013-02-26)
----
-确保向传输配置添加新文件。关闭96.
关闭101。[Jose Diaz Gonzalez]
-允许浮点数用于更新文件映射时间。[Jose Diaz Gonzalez]
-修复布尔值的无效强制转换。[Jose Diaz Gonzalez]
-在config.py中执行所有转换。关闭99。[Jose Diaz Gonzalez]



23(2013-02-20)
----
-工作程序:漂亮的格式调试消息"迭代执行了.6f"[Sergey
Shepelev]
-Zeromq_hwm int()转换已移动到配置。[denis orlikhin]
-zeromq_hwm配置项。[Denis Orlikhin]
-零硬件支持。[Denis Orlikhin]
-增加测试要求NTS设置。[paul garner]
-允许beaver接受自定义传输类。[paul garner]
-在自述文件中修复了rabbitmq_exchange_type选项。[xabier de zuazo]
-让beaver更容易测试模拟,并修复了
坏的zmq测试。[保罗·加纳]



22(2013-01-15)
----
-正确处理SIGTERM。参考文献87。[Jose Diaz Gonzalez]
-add--loglevel作为--output的别名。关闭92。[Jose Diaz Gonzalez]
-添加了登录连接异常。[Thomas Morse]
-当无法确认Redis连接时添加异常。[william
jimenez]
-添加"--format raw"以无更改地传递输入。[stephen sugden]
-修复beaver.transport中的字符串和空格式化程序。[Stephen Sugden]


内联定义需要一个自参数,当您将函数赋给对象实例上的属性时,该参数不是*传递的。
-在循环中使用sizehint调用file.readlines(),以避免同时读取大量文件。[Jose Diaz Gonzalez]


<21(2013-01-04)
----
-将Runner移到Dispatcher类中以解决安装问题。
[Jose Diaz Gonzalez]
-添加了Python 2.6+支持的注释。[Jose Diaz Gonzalez]



20(2013-01-03)
----
-复制自述文件以避免PYPI打包警告。[Jose Diaz-
Gonzalez]
-实现完全递归的文件全局处理。[brian l.trouwine]

python的base glob.iglob并不像globstar那样有效。为了解释,假设我有一个erlang应用程序,其中的lager日志要

/var/log/erl-app/lags.log
/var/log/erl-app/console/year-month-day.log


webmachine日志要

/var/log/erl-app/webmachine/access/year-month-day.log

提交,当使用路径`/var/log/**/*.log`all
配置时,beaver将忽略webmachine日志。对于
任意深度,不再是这种情况。




19(2013-01-01)
----
-修复支持命令行参数的问题。[Jose Diaz Gonzalez]



18(2012-12-31)
----
-向工作循环添加计时调试信息。[Jose Diaz Gonzalez]
-发送事件时使用redis管道。[何塞·迪亚兹·冈萨雷斯]
-格式化。[Jose Diaz Gonzalez]
-不要为file_config.get调用输出调试语句。[Jose Diaz-
Gonzalez]
-传入logger对象以创建_ssh_tunnel()[Jose Diaz Gonzalez]


<17(2012-12-28)
----
-添加缺少的Python后台程序要求。[Jose Diaz Gonzalez]



16(2012-12-27)
----
-指定最大队列大小100以限制溢出内存。[Jose
Diaz Gonzalez]
-使用多处理来处理较大的队列大小。[Jose Diaz-
Gonzalez]

以前,经常更新的文件(如Varnish或服务器日志)会压倒Beaver中file.readlines()的原始实现。这将导致beaver在处理任何一行之前缓慢地读取文件越来越大的部分,最终导致beaver需要永远地处理日志行。

此修补程序增加了对日志行使用内部工作队列的能力。每当调用file.readlines()时,这些行都会放在队列中,并与子进程共享。子进程创建自己的传输,允许我们将来可能创建一个进程池来处理更大的队列大小。


-将默认redis_密码添加到beaverconfig类。[Jose Diaz Gonzalez]
-修复导致传输中断的缺少下划线。[norman joyner]
-实现redis身份验证支持。[norman joyner]
-为dae添加beaver init脚本监控模式。[Jose Diaz Gonzalez]
-使用stdouttransport时使用python logger。[Jose Diaz Gonzalez]
-为主机名和格式添加短arg标志。[Jose Diaz Gonzalez]
-增加守护的能力。关闭79。[Jose Diaz Gonzalez]
-将日志程序实例传递给所有传输。[Jose Diaz Gonzalez]
-Revert"添加了一个轻量级事件类"[Jose Diaz Gonzalez]

经过深思熟虑,Beaver应该是"轻量级"的。让我们把重击留给大男孩。


这将恢复提交1619d33ef4803c3fe910cf4ff197d0dd0039d2eb。
-添加了一个轻量级事件类。[Jose Diaz Gonzalez]

这个类的唯一职责是将给定的行作为事件进行处理。
它的未来目标是在logstash中充当过滤器系统的轻量级实现
-删除Python2.7及更高版本的argparse需求。[何塞·迪亚兹-
冈萨雷斯]



15(2012-12-25)
----
-从beaver init.py中提取参数解析。[何塞·迪亚兹·冈萨雷斯]
-将运行的应用程序移动到初始化py。[Jose Diaz Gonzalez]
-将parse()标准化为解析配置的方法。[Jose Diaz-
Gonzalez]
-自动分析路径配置选项。[Jose Diaz Gonzalez]
-删除Worker类上的扩展参数。[Jose Diaz Gonzalez]


此参数仅在配置文件中未指定globs时使用。
由于它不可配置,因此没有必要在额外的逻辑周围留下任何内容。
-删除readlines上的额外回调调用。[Jose Diaz Gonzalez]
-删除额外的文件配置模块。[何塞·迪亚兹·冈萨雷斯]
-通用代码重组。[Jose Diaz Gonzalez]

将beaverconfig和fileconfig都移到一个类中


将run_worker代码与beaver二进制文件中的代码合并在一起。这将为异常处理创建一个更清晰的路径,因为它现在是调用类的职责,允许我们删除重复的异常处理代码。


e.在许多情况下,代码是以前匆忙添加的。

通常情况下,信息级别应保留给文件被监视、不匹配或文件状态发生某些更改的实例。
-从二进制文件中删除重复的和旧的beaver指令。[Jose
Diaz Gonzalez]
-删除不必要的ssh_隧道子流程。[Jose Diaz-
Gonzalez]
-向ssh_隧道模块添加了docstring。[Jose Diaz Gonzalez]
-遵循对象属性的下划线约定。[Jose Diaz-
Gonzalez]
-遵循对象属性的下划线约定。[Jose Diaz-
冈萨雷斯]
-添加了一个空格式化程序。[Jose Diaz Gonzalez]


对于我们不希望在基本传输类中的消息格式化方面有任何额外开销的情况非常有用。[Jose Diaz-
Gonzalez]

格式化程序。
-已将创建传输移动到传输模块。[Jose Diaz Gonzalez]
-将create_ssh_tunnel移动到ssh_tunnel模块。[Jose Diaz Gonzalez]
-在args中固定beaver配置和file配置的顺序。[Jose Diaz-
Gonzalez]
-减少全局和文件解析配置的开销。[Jose
Diaz Gonzalez]
-删除OrderedDict依赖项。[Jose Diaz Gonzalez]
-输出版本时不输出信息级别。[Jose Diaz Gonzalez]
-允许使用ujson>;=1.19。关闭76。[Jose Diaz Gonzalez]



14(2012-12-18)
----
-删除了错误的冗余代码。[何塞·迪亚兹·冈萨雷斯]
-python 2.6中不同迭代实现的解决方法。[jose
diaz gonzalez]
-正确检测非linux平台。[Jose Diaz Gonzalez]
-改进对Python2.6的支持。[何塞·迪亚兹·冈萨雷斯]
-修复损坏的python自述文件。[Jose Diaz Gonzalez]



13(2012-12-17)
----
-修复了某些环境变量。[Jose Diaz Gonzalez]
-ssh隧道支持。[Jose Diaz Gonzalez]

此代码应允许我们在两个不同的服务器之间创建一个ssh隧道,以便发送和接收数据。

在AWS上的两个不同区域进行连接。
-允许初始连接延迟。在等待ssh
代理连接时非常有用。[Jose Diaz Gonzalez]
-修复某些配置默认值不正确的问题。
[Jose Diaz Gonzalez]
-允许通过标志指定主机。关闭70。[Jose Diaz Gonzalez]



12(2012-12-17)
----
-在非Linux平台上重新加载详细文件。[Jose Diaz Gonzalez]


python在OS X上有一个问题是
`file.read()`缓存EOF的底层C实现,因此导致'readlines()'只工作一次。当您在调用readlines之前试图
结束时,这也会不幸地失败。


此修复通过不断地重新读取更改的文件来解决问题。


请注意,这也会导致OS X上的调试模式非常嘈杂。我们都必须做出牺牲……
-否决所有环境变量。[Jose Diaz Gonzalez]

这会将配置管理转移到beaverconfig类中。
请注意,如果您使用的是环境变量,我们当前会发出警告。


refs 72
关闭60
-使用不推荐的环境变量进行配置时发出警告。参考文献72.
[jose diaz gonzalez]
-PEP8合规性的微小变化。[Jose Diaz Gonzalez]



11(2012-12-16)
----
-添加对socket.getfqdn的可选支持。[jeremy kitchen]

对于我的设置,我需要始终使用fqdn,因为我的
主机名是相同的,但环境(除其他外)在fqdn的其余部分中是


或者breakation和socket.gethostname并不总是返回
fqdn,现在可以显式地始终使用fqdn。

fixes 68
-检查日志文件截断修复程序55。[jeremy kitchen]

这将添加一个简单的日志文件截断检查,并在检测到时重置手表。


这里确实存在两种竞赛条件:
1。任何在截断之前写入的、beaver尚未读取和处理的日志数据都将丢失。对此我们无能为力。如果文件被截断、重写,并且在睡眠间隔期间最终大于原始文件,beaver将不会检测到这一点。在一些实验之后,这种行为也存在于gnu
tail中,因此我将其称为"不要那样做,然后"bug:)


另外,beaver最有可能被调用
watch(可能被截断)的文件通常会足够大
慢慢填充,这样就不会在野外出现。
-给beaver添加一个版本号。[Jose Diaz Gonzalez]



10(2012-12-15)
----
-固定包名。[何塞·迪亚兹·冈萨雷斯]
-释放时重新生成更改。[jose diaz gonzalez]
-添加对/path/{foo,bar}.log的支持。[乔希·布拉格]
-一致性。[克里斯·福克纳]
-陈述显而易见的事实。[克里斯·福克纳]
-为磨坊加油。[克里斯•福克纳]
-删除多余的readme.txt。[chris faulkner]
-忽略unwatch方法中的文件错误--文件可能不会存在。
[josh braegger]
-遇到过时的nfs句柄时取消对文件的匹配。当一个nfs文件
句柄变得陈旧(即文件被删除)时,它就会崩溃。[乔希·布拉格]
-一致性。[chris faulkner]
-从requirements/base.txt中提取安装需求,这样它们就不会失去同步。[克里斯•福克纳]
-在设置中包括变更日志。[克里斯·福克纳]
-将changelog转换为rst。[克里斯·福克纳]
-实际出示许可证。[克里斯·福克纳]
-前后一致。[chris faulkner]
-配置文件中没有配置标记时,不要对标记使用空字符串。
[styleanos modes]
-使"mode"选项对zmqtransport有效。添加setuptools和
测试(使用./setup.py notests)。正在添加.gitignore。[Josh Braegger]



9(2012-11-28)
----
-更多版本更改。[Jose Diaz Gonzalez]
-修复了声明Exchange类型时的已弃用警告。[rafael
fonseca]



8(2012-11-28)
----
-删除了不推荐使用的e.message。[rafael fonseca]
-修复了异常捕获代码。[rafael fonseca]
-向rabbitmq传输添加了一些弹性代码。[rafael fonseca]



7(2012-11-28)
----
-添加了用于创建版本的帮助脚本。[Jose Diaz Gonzalez]
-对globbed文件导致的崩溃进行部分修复。[Jose Diaz Gonzalez]



6(2012-12-15)
----
-修复文件轮询错误的问题。[Jose Diaz-
Gonzalez]
-添加了ubuntu init.d示例配置。[Jose Diaz Gonzalez]



5(2012-12-15)
----
-尝试在启动时轮询文件,而不是引发异常。
关闭45。[Jose Diaz Gonzalez]
-在分类器中添加了Python2.6。[Jose Diaz Gonzalez]



4(2012-12-15)
----
-删除未使用的本地变量。[Jose Diaz Gonzalez]
-允许配置RabbitMQ交换类型和持久性。[何塞
迪亚兹·冈萨雷斯]
-删除未使用的导入。[Jose Diaz Gonzalez]
-格式化代码以修复PEP8冲突。[Jose Diaz Gonzalez]
-使用其他dict语法来支持Python2.6。关闭43。[Jose
Diaz Gonzalez]
-第3版的固定发布日期。[Jose Diaz Gonzalez]



3(2012-11-25)
----
-向清单中添加了需求文件。[Jose Diaz Gonzalez]
-在发行版中包含所有contrib文件。[Jose Diaz Gonzalez]
-还原"删除多余的readme.txt"以遵循PYPI标准。[Jose
Diaz Gonzalez]

这将恢复commit e667f63706e0af8bc82c0eac6eac43318144e107。
-添加了bash启动脚本。关闭35。[Jose Diaz Gonzalez]
-为Redis添加了一个管理器配置示例。关闭34。[何塞·迪亚兹-
冈萨雷斯]
-删除多余的readme.txt。[Jose Diaz Gonzalez]
-将分类器添加到包中。[何塞·迪亚兹·冈萨雷斯]
-重新安排工人。[何塞·迪亚兹·冈萨雷斯]
-需要皮卡。[Jose Diaz Gonzalez]
-将ZeroMQ安装设为可选。[Morgan Delagrange]
-格式化。[Jose Diaz Gonzalez]
-添加了对版本3的变更日志的更改。[Jose Diaz Gonzalez]
-ISO 8601格式的时间戳,带有表示UTC的"z"SUFIX。
[xabier de zuazo]
-添加UDP支持。[Morgan Delagrange]
-lpush在redis传输上更改为rpush。必须始终
以正确的顺序在日志存储端读取事件。参见:https:
//github.com/logstash/logstash/blob/6f745110671b5d9d66bf082fbfed99d145
af4620/lib/logstash/outputs/redis.rb l4。[xabier de zuazo]



2(2012年11月25日)
----
-启动脚本示例。[michael d'auria]
-修复了几个导入语句。[Jose Diaz Gonzalez]
-修复了二进制调用。[Jose Diaz Gonzalez]
-重构日志记录。[何塞·迪亚兹·冈萨雷斯]
-改善测井。[michael d'auria]
-删除了不必要的打印语句。[何塞·迪亚兹·冈萨雷斯]
-添加传输为stdout时的默认流处理程序。关闭26。[bear
(mike taylor)]
-更好地处理未处理的异常。[michael d'auria]
-处理配置文件不存在的情况。[michael
d'auria]
-修复错误的addfield值。[Alexander Fortin]
-在配置示例中添加add_字段。[alexander fortin]
-在配置文件中添加对add_字段的支持。[Alexander Fortin]
-小的自述更新。[Jose Diaz Gonzalez]
-添加对从ini配置文件读取类型的支持。[alexander fortin]


在配置文件中添加对符号链接的支持


在配置文件中添加对文件全局处理的支持


添加对标记的支持

-进行一些重构,将类型和标记向下移动到
传输类
-创建配置对象(读取/dev/null)即使没有通过cli提供配置文件


add documentation for ini file to readme


remove unused json library

冲突:
readme.rst
-支持文件路径中的全局。[darren worrall]
-通过线路发送数据时,请使用UTC时间戳。[darren worrall]
-添加了msgpack支持。[jose diaz gonzalez]
-使用python日志框架。[Jose Diaz Gonzalez]
-修复了transport.format()方法。[Jose Diaz Gonzalez]
-正确解析beaver_文件env var.[Jose Diaz Gonzalez]
-重构传输。[Jose Diaz Gonzalez]

-修复JSON导入以使用可用的最快JSON模块
-将格式移到传输类
-尝试修复env变量的默认值。[Jose Diaz Gonzalez]
-修复自述文件和beaver cli帮助以引用正确的rabbitmq_host
环境变量。[jdutton]
-添加rabbitmq支持。[Alexander Fortin]
-添加了用于跟踪文件的Beaver实际使用示例。[jose
diaz gonzalez]
-删除了未使用的参数。[Jose Diaz Gonzalez]
-确保包中包含与Python兼容的自述文件。[jose
diaz gonzalez]
-修复redis传输的变量命名和超时。[何塞·迪亚兹-
冈萨雷斯]
-安装说明。[Jose Diaz Gonzalez]
-对自述文件使用重组文本,而不是标记。[何塞·迪亚兹-
冈萨雷斯]
-删除了不必要的。gitignore。[Jose Diaz Gonzalez]



1(2012-11-25)
----
-将应用程序移到python包格式。[Jose Diaz Gonzalez]
-根据python包装将binary beaver.py移到bin/beaver。[何塞][何塞·迪亚兹-
冈萨雷斯]
-重新订购运输。[Jose Diaz Gonzalez]
-如果所有传输选项都已用尽,则重写run_worker以引发异常。[何塞·迪亚兹·冈萨雷斯]
-重命名amqp->;zmq,以避免与rabbitmq混淆。[alexander
fortin]
-向--transport参数添加了选项。[Jose Diaz Gonzalez]
-修复了Derpy格式。[Jose Diaz Gonzalez]
-在自述文件中增加了用法。[Jose Diaz Gonzalez]
-支持使用环境变量而不是参数。[jose
diaz gonzalez]
-修复了文件参数解析。[何塞·迪亚兹·冈萨雷斯]
-一个人不能简单地许可所有的东西。[何塞·迪亚兹·冈萨雷斯]
-将todo添加到自述文件中。[Jose Diaz Gonzalez]
-在Pyzmq中添加了版本。[Jose Diaz Gonzalez]
-添加许可证。[Jose Diaz Gonzalez]
-重新排序的进口。[何塞·迪亚兹·冈萨雷斯]
-将所有运输工具移到beaver/transports.py。[Jose Diaz Gonzalez]
-每次触发回调最多计算一次当前时间戳。[何塞
diaz gonzalez]
-修改运输,包括在
logstash中摄入的适当信息。[Jose Diaz Gonzalez]
-固定包导入。[jose diaz gonzalez]
-删除了另一个编译的python文件。[何塞·迪亚兹·冈萨雷斯]
-使用ujson而不是simplejson。[jose diaz gonzalez]
-忽略编译的python文件。[Jose Diaz Gonzalez]
-固定进口。[何塞·迪亚兹·冈萨雷斯]
-修正了自述说明。[Jose Diaz Gonzalez]
-重构传输,使连接不再是全局的。[何塞
迪亚兹•冈萨雷斯]
-自述文件和许可证。[何塞·迪亚兹·冈萨雷斯]
-第一次提交。[何塞·迪亚兹·冈萨雷斯]



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

推荐PyPI第三方库


热门话题
java Android Action_Edit Intent无法像以前一样调用App Gallery来编辑图片   确保JRE兼容性的java适当程序(32或64位)   java JSONArray。for循环中的add(JSONObject)正在替换for循环中的旧值,数组由循环中的最后一个值组成   java需要帮助创建一个返回数组的方法,该数组的元素是另一个数组的平方   使用SmbFile w/groovy XmlSluper()创建xml。解析()Java   检查大小后的java ArrayIndexOutOfBoundsException   乘法表中的第k个最小元素   java 401 on请求,其中指定了'permitAll()'   java如何附加ORC文件   java hibernate类模型   java IDEA没有看到由自定义注释处理器生成的方法   Servlet中未声明java SerialVersionId   java linkedlist到达列表末尾时   java如何正确对齐EditText光标?   java 6编译器1.6上的eclipse重写方法错误   java如何在基于Jersey的RESTful Web服务中读取post数据   java如何在活动中正确使用接口?   Java的JIT编译器的工作速度有多快?