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

Gribble的Python项目详细描述


===
格里布尔
=


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


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



注意
==


gribble是python beaver版本34.1.0(https://github.com/josegonzalez/python-beaver)合并我们自己的修复程序。



要求
==

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

rom pypi::

pip install gribble==34.1.0



documentation
==




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

git

zalez/python beaver


g/

许可证:mit


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



changelog
==


34.1.0(2015-08-10)
----

-添加aws sns作为传输选项。[Jamie Cressey]

34.0.1(2015-08-07)
----


-恢复由
D159EC579C01B8FAB532B3816C64B0FF8B2063FF引起的一些故障。[Jose Diaz Gonzalez]

关闭331


-设置命令的默认值。[Jose Diaz Gonzalez]

-323-修复使用Pika SelectConnection运行的测试。[tom kregenbild]

-323-将rabbitmq transport_on_open_connection_error函数修复为打印连接错误。[汤姆·克里根比尔德]

-323 1.添加具有队列大小的清除调试打印(为了不影响性能,每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。[大卫莫拉维克]

-德比安包装代码审查;thx@mnicky。[大卫莫拉维克]

-改进Debian包装。[david moravek]

-修复未安装zmq时的测试。[david moravek]

-修复python 2.7的测试(添加funcsigs测试依赖项)[david
moravek]

-将徽章移到标题下方。[Jose Diaz Gonzalez]

-为数据类型添加常量,在init中验证,使用回调映射。
[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


-Gelf格式化程序的基本文档。[oleg rekutin]


还修复了前面http
传输示例部分的格式问题。



-添加一个gelf格式设置程序。[oleg rekutin]

short_消息被截断为250个字符,只有第一行被保留。与http post输出配对,直接写入graylog2。


-issue 305,接受任何2xx代码进行http_u传输。【Oleg-Rekutin】

<33.2.0(2015-03-11)
————————————————————————————————————————————————————————————————————————[Marcel Casado]

-在用户文档中添加了卡夫卡传输使用的示例。[marcel
casado]

-添加了占位符"dist"目录以下载kafka二进制文件。[marcel
casado]

-增加了对kafka传输的集成测试支持。[marcel casado]

-在try catch中包装了kafka client init。[Marcel Casado]

-初始卡夫卡传输实现。[marcel casado]

-更新配置示例和文档。[Jonathan Sabo]

-添加对不同帐户中SQS队列的支持。[Jonathan Sabo]

<33.1.0(2015-02-04)
----


-改进了缺少logstash_版本的错误消息。[florian hopf]


添加了一条注释,说明需要在配置中设置版本

-指定对python守护进程更严格的依赖,修复286。[graham
floyd]

-添加消息"批大小检查",因为sqs只能处理
批中的256kib。如果消息批是10条消息或>;=250kib,则刷新队列。
[lance o'connor]


-解释了rabbitmq_delivery_mode的有效值和含义。[fabio
coatti]

-添加了RabbitMQ_delivery_mode configuration
参数的文档。[Fabio Coatti]

-除了语法之外,有一点变化。这将使快乐蟒蛇3和
也在2.6和更高版本中工作。[Fabio Coatti]

-发送消息时,现在我们可以根据主配置选项
RabbitMQ_Delivery_Mode告诉RabbitMQ我们想要哪种传输模式。[Fabio Coatti]

-为RabbitMQ DeliveryMode添加了配置选项。基本上,它的工作方式类似于布尔值,但是如果允许值为1和2,我们就将其视为整数并进行验证。[Fabio Coatti]

-删除换行符。[fabio coatti]

-在文档中添加了特定于节的redis_名称空间键。[fabio
coatti]

-在逗号后添加一个空格,更符合python风格指南。
[fabio coatti]

-还原"忽略的eric文件"[fabio coatti]


这将还原commit ea2a6b27437570aeda3ee53b6c6ebd7ebb1f4f2a。

如建议,不要使用。gitignore:)


-这个小提交允许在配置文件(节)的文件节中指定redis命名空间。基本上,beaver检查是否为当前文件定义了
redis_命名空间。如果是,它将用于redis负载。如果不是(或空),beaver使用在global部分中指定的
redis_名称空间值。[fabio coatti]

-添加了一个节(节)配置选项,以便能够指定redis名称空间。如果设置,它将覆盖main部分中的名称空间集
。默认值为空。[Fabio Coatti]

-忽略Eric文件。[fabio coatti]

-从win32上的要求中删除"python守护进程"。[Ryan Davis]

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


refs 141




-为Travis CI徽章使用新的存储库名称。[何塞•迪亚兹•冈萨雷斯]

<33.0.0(2014年10月14日)
————————————————————————————————————————————————————————————————————————————[jose
diaz gonzalez]

-添加gitchangelog.rc以修复变更日志生成。[Jose Diaz Gonzalez]


32(2014-10-14)
----

-允许配置文件覆盖日志文件的设置。[亚伦
法国]

-海狸停止时强制更新sincedb。[Pierre Fersing]

-修复了sincedb_write_interval(错误229)。[pierre fersing]

-fix config.get('ssh_options')[svengerlach]


ssh_options由于错误的类型检查而无法返回

-基于dh virtualenv添加debian打包。[何塞·迪亚兹·冈萨雷斯]

-zmq3将硬件分为sndhwm/rcvhwm。关闭246。[Pete Fritchman]

-修复用法中的拼写错误。rst。[雨果·洛佩斯·塔瓦雷斯]



-固定徽章,仅指向主分支。[Jose Diaz Gonzalez]

31(2014-01-25)
----


fix
~~

-beaver用户无法写入其PID和日志。[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。[何塞·迪亚兹·冈萨雷斯]

-允许使用较新版本的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的问题。




-提高与区分大小写文件系统的兼容性。[何塞•迪亚兹-
冈萨雷斯]

-修改测试用例以支持logstash_版本。[Jose Diaz Gonzalez]

-记录日志存储版本的用法。[彼得·伯克霍尔德]

-在配置文件中添加add_field_env选项以允许fie使用环境中的值添加lds
。[兰斯•奥康纳]

关闭214



-向rabbitmq传输添加ssl/tls支持。关闭217。[乔纳森
harker]

-添加了http传输选项。关闭218。[jeff bryner]

-添加缺少的配置文件选项"rabbitmq_queue_durable"。[丹尼尔
whelan]

-`strictredis.from_url`比自己动手做要好。[kristian glass]

注意当前"fakeredis"不支持"from_url"--这阻止了https://github.com/jamesls/fakeredis/pull/29上的
(相应地,'tests.txt'中的
bumped version requirement)


-python 2.6 configparser不处理非tring修复了输入错误。
[tommyulfsparre]

-不要将空对象添加到输入列表。[tommyulfsparre]

-在tail manager中导入线程库,因为我们想使用它。
[chris roberts]

-将ssl添加到tcp传输。[西蒙·麦卡特尼]

-将所有文档重定向到"阅读文档"。参考文献150。[何塞·迪亚兹·冈萨雷斯]

-阅读"DOCS支持"。关闭150。[Jose Diaz Gonzalez]

-将生产商转换为流程。允许定时生产者剔除。[chris
roberts]

-让消费者检查螺纹以防止楔形状态。[克里斯罗伯茨]

-不要因为字符串解码异常而崩溃。[adam twardowski]

-在连接时将传输设置为有效(重新连接时正确重置)
[chris roberts]

-正确处理TCP传输中的发布失败。[kiall mac
innes]

-添加配置选项以操作ssh\u选项。[andreas lappe]

此选项允许将所有ssh选项传递到隧道。



-修复版本查找。[Jose Diaz Gonzalez]

-将多行合并函数移到utils.py。[Pierre Fersing]

-支持多行和尾行选项。[Pierre Fersing]

-支持尾部版本中的多行事件。[Pierre Fersing]

-支持多行事件。[皮埃尔·费辛]

-忽略无效的rawjson日志。[tomoyuki sakurai]

这确保了beaver在其他应用程序以无效的json格式登录时仍能继续运行。



-从@source字段中删除了重复的self.\u当前主机。修复了180.
[亚历山大·帕帕斯皮罗]


30(2013-08-22)
----


-使用操作系统。
在信号处理程序中通过sys.exit退出以干净退出。
[克里斯蒂安·格拉斯]

根据
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选项。[iyingchi]

-修复了readme.rst中sqs_aws_secret_密钥的示例。[乔纳森鹌鹑]

-允许路径为"无"。[lars hansson]

允许在配置文件管理器中将路径设置为空(无)。这样,可以在confd_path中的文件中配置所有文件和glob。




-修复zmq传输测试。[斯科特史密斯]

-将zmq地址配置解析移到主解析器中。[斯科特史密斯]

-允许指定要绑定/连接的多个zmq地址。[斯科特史密斯]

-redis 2.4.11在pypi上不再可用。[Andrew Gross]

修复问题167

-添加TCP传输。[Kiall Mac Innes]

-隔离连接逻辑。提供适当的重新连接支持。[chris
roberts]

-更正了排除标记的文档。关闭157。[何塞•迪亚兹-
冈萨雷斯]

-将缺少的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]

[Jose Diaz Gonzalez]

-重构beaversubprocess以将正在运行的命令保持为
属性。[Jose Diaz Gonzalez]

-正确解析新部分的beaver conf.d路径。关闭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]

-使用logfile标志将所有输出发送到守护进程上下文中的文件。
[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。

g传输类已更改。如果您在任何地方引用"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中的copyruncate结果。
参考文献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的"格式"而不是"消息格式"
[Jose Diaz Gonzalez]

-使用传入的"忽略空"字段,而不是在队列模块中进行文件配置查找。[何塞·迪亚兹·冈萨雷斯]

-比起更新文件映射时间,更喜欢发现间隔。[何塞·迪亚兹-
冈萨雷斯]

-修复传输异常导入。关闭122。[Jose Diaz Gonzalez]

-ssh隧道的自动重新连接机制。[michael franz aigner]

-使用另一种读入需求的方法。参考文献120。[Jose
Diaz Gonzalez]

-修复dispatcher.py中reopen_文件常量的导入。[何塞·迪亚兹-
冈萨雷斯]

-修复PEP8违规。[Jose Diaz Gonzalez]

-确保所有文件都是UTF-8编码的。[Jose Diaz Gonzalez]

-传输模块中的命名空间传输类。[何塞•迪亚兹-
冈萨雷斯]

-允许通过参数指定调试模式。[Jose Diaz Gonzalez]

-为datetime调用添加了线程安全性。[Jose Diaz Gonzalez]

-增加了对消息格式的支持。关闭91。[Jose Diaz Gonzalez]

-添加msgpack_pure作为基于C的msgpack包的回退。[何塞•迪亚兹-
冈萨雷斯]

-修复sincedb实现中的问题。参考文献116。[Jose Diaz Gonzalez]

-检查开始位置时修复铸造问题。[Jose Diaz Gonzalez]

-正确处理队列。完全异常。[何塞·迪亚兹·冈萨雷斯]

-更多日志记录。[Jose Diaz Gonzalez]

-在配置解析时展开sincedb路径。[Jose Diaz Gonzalez]

-忽略since.db文件。[Jose Diaz Gonzalez]

-简化了SINCEDB支持以处理边缘情况。参考文献116。[何塞
diaz gonzalez]

-删除错误的打印。[Jose Diaz Gonzalez]

-增加了对配置节中文件排除的支持。关闭106.[jose
diaz gonzalez]

-向eglob添加了python regex排除支持。参考文献106。[何塞·迪亚兹-
冈萨雷斯]

-pep8.[Jose Diaz Gonzalez]

-添加了一个测试目录,其中包含一些来自用户的示例测试。[何塞•迪亚兹-
冈萨雷斯]

-将"sincedb_write_interval"选项转换为整数。参考文献116。
[jose diaz gonzalez]

-将记录器调用移动到更智能的位置。[Jose Diaz Gonzalez]

-确保在打开文件时使用正确的编码。关闭
104。[Jose Diaz Gonzalez]

-使用classmethod open()集中文件读取[Jose Diaz Gonzalez]

-修复了尾线未正确发送到
回调的问题。[Jose Diaz Gonzalez]

-从工作中删除不必要的参数。uuinit_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]

-从Worker类传入时间戳,以获得更精确的时间戳,而发送速度的代价是
。[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〕br/>gonzalez]

-增加了对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睡眠超时。[何塞•迪亚兹-
冈萨雷斯]

-利用更长的睡眠时间来解决redis的ssh连接问题。[Jose Diaz Gonzalez]


25(2013-03-05)
----

-检查时使用true而不是1。[Jose Diaz Gonzalez]

-修复孤立子进程。关闭103。[Jose Diaz Gonzalez]


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)
----


-worker:pretty format debug message"iteration take%.6f"[sergey
shepelev]

-zeromq_hwm int()转换已移动到配置。[denis orlikhin]

-zeromq硬件配置项。[Denis Orlikhin]

-ZeroMQ硬件支持。[Denis Orlikhin]

-向设置添加测试要求。[保罗·加纳]

-允许Beaver接受自定义传输类。[保罗·加纳]

-rabbitmq_exchange_type选项已在自述文件中修复。[xabier de zuazo]

-让beaver更容易测试模拟,并修复了
损坏的zmq测试。[保罗·加纳]

22(2013-01-15)
----

-正确处理SIGTERM。参考文献87。[Jose Diaz Gonzalez]

-add--loglevel作为--output的别名。关闭92。[Jose Diaz Gonzalez]

-添加了登录连接异常。[托马斯·莫尔斯]

-当无法确认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应用程序日志到

/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

海狸。在
任意深度下,不再是这种情况。

[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()时,这些行都会放在队列中,并与子进程共享。子进程创建自己的传输,允许我们将来可能创建一个进程池来处理更大的队列大小。

verconfig类。[Jose Diaz Gonzalez]

-修复导致传输中断的缺少下划线。[诺曼乔伊纳]

-实现redis身份验证支持。[诺曼乔伊纳]

-为守护模式添加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]

经过深思熟虑,海狸应该是"轻量级"的。让我们把沉重的打击留给大块头。


这将恢复提交1619d33ef4803c3fe910cf4ff197d0dd0039d2eb。



-添加了一个轻量级事件类。[Jose Diaz Gonzalez]

这个类的唯一职责是将给定的行作为事件进行处理。
它的未来目标是在logstash中充当过滤器系统的轻量级实现



-删除Python2.7及更高版本的argparse需求。[何塞·迪亚兹-
冈萨雷斯]

15(2012-12-25)
----

-从beaver init.py中提取参数解析。[Jose Diaz Gonzalez]

-将运行的应用程序移动到初始化py。[Jose Diaz Gonzalez]

-将parse()标准化为解析配置的方法。[何塞·迪亚兹-
冈萨雷斯]

-自动分析路径配置选项。[Jose Diaz Gonzalez]

-删除Worker类上的扩展参数。[Jose Diaz Gonzalez]

此参数仅在未指定globs时使用d在配置文件中。
因为它是不可配置的,所以在额外的逻辑周围没有任何意义。



-删除readlines上的额外回调调用。[Jose Diaz Gonzalez]

-删除额外的文件配置模块。[何塞·迪亚兹·冈萨雷斯]

-通用代码重组。[Jose Diaz Gonzalez]

将beaverconfig和fileconfig都移到一个类中


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


向许多功能和方法添加了docstring

>将额外的配置和设置代码移动到beaver.utils模块。在许多情况下,代码是以前匆忙添加的。

信息级别通常应保留给文件被监视、不匹配或文件状态发生某些更改的实例。




-从二进制文件中删除重复的和旧的beaver指令。[Jose
Diaz Gonzalez]

-删除ssh_tunnel子进程的不必要传递。[Jose Diaz-
Gonzalez]

-向ssh_隧道模块添加了docstring。[Jose Diaz Gonzalez]

-遵循对象属性的下划线约定。[Jose Diaz-
Gonzalez]

-遵循对象属性的下划线约定。[何塞·迪亚兹-
冈萨雷斯]

-添加了一个空格式化程序。[Jose Diaz Gonzalez]


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


我们现在在传输类上使用了一个`_formatter`属性,该属性可以按照用户的期望正确处理要输出的消息。


对于字符串输出,我们使用一个
匿名函数定义一个自定义格式化程序,并将其指定为格式化程序。


连接到传输模块。[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)
----

-删除了错误的冗余代码。[Jose Diaz Gonzalez]

-Python2.6中不同迭代实现的解决方案。[Jose
Diaz Gonzalez]

-正确检测非Linux平台。[Jose Diaz Gonzalez]

-改进对Python2.6的支持。[何塞·迪亚兹·冈萨雷斯]

-修复损坏的python自述文件。[Jose Diaz Gonzalez]


13(2012-12-17)
----

-修复了某些环境变量。[何塞·迪亚兹·冈萨雷斯]

-ssh隧道支持。[Jose Diaz Gonzalez]

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

/>-考虑到初始连接延迟。在等待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的可选支持。[杰里米厨房]

返回
fqdn,现在可以显式地始终使用fqdn。

fixes 68



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

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


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

野生版。



-向Beaver添加版本号。[Jose Diaz Gonzalez]


10(2012-12-15)
----

-固定包名。[何塞·迪亚兹·冈萨雷斯]

-释放时重新生成更改。rst。[jose diaz gonzalez]

-添加对/path/{foo,bar}.log的支持。[乔希·布拉格]

-一致性。[克里斯·福克纳]

-陈述显而易见的事实。[克里斯·福克纳]

-为工厂做准备。[克里斯•福克纳]

-删除多余的readme.txt。[chris faulkner]

-忽略unwatch方法中的文件错误--该文件可能不存在。
[josh braegger]

-遇到过时的nfs句柄时取消对文件的访问。当一个nfs文件
句柄变得陈旧(即文件被删除)时,它就会崩溃。[乔希·布拉格]

-一致性。[chris faulkner]

-从requirements/base.txt中提取安装需求,这样它们就不会失去同步。[克里斯•福克纳]

-在安装程序中包括变更日志。[克里斯福克纳]

-将变更日志转换为rst。[克里斯·福克纳]

-实际显示许可证。[克里斯·福克纳]

-外壳一致。[chris faulkner]

-配置文件中没有配置标记时,不要对标记使用空字符串。
[styleanos modes]

-使"mode"选项对zmqtransport有效。添加setuptools和
测试(使用./setup.py notests)。正在添加.gitignore。[Josh Braegger]

9(2012-11-28)
----

-更多版本更改。[Jose Diaz Gonzalez]

-修复了声明Exchange类型时的已弃用警告。[拉斐尔
fonseca]


8(2012-11-28)
----

-删除了不推荐使用的e.message。[Rafael Fonseca]

-修复了异常捕捉G代码。[rafael fonseca]

-向rabbitmq传输添加了一些弹性代码。[rafael fonseca]


7(2012-11-28)
----

-添加了用于创建版本的帮助脚本。[Jose Diaz Gonzalez]

-对globbed文件导致的崩溃进行部分修复。[Jose Diaz Gonzalez]


6(2012-11-26)
----

-修复文件轮询错误的问题。[Jose Diaz-
Gonzalez]

-添加了ubuntu init.d示例配置。[Jose Diaz Gonzalez]

5(2012-11-26)
----


-尝试在启动时轮询文件,而不是引发异常。
关闭45。[Jose Diaz Gonzalez]

-在分类器中添加了Python2.6。[何塞·迪亚兹·冈萨雷斯]


4(2012-11-26)
----


-删除未使用的本地变量。[Jose Diaz Gonzalez]

-允许配置RabbitMQ交换类型和持久性。[何塞
diaz gonzalez]

-删除未使用的导入。[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标准。[何塞
diaz gonzalez]


这将恢复提交e667f63706e0af8bc82c0eac6eac43318144e107。



-添加了bash启动脚本。关闭35。[Jose Diaz Gonzalez]

-为redis添加了一个管理器配置示例。关闭34。[何塞·迪亚兹-
冈萨雷斯]

-删除多余的readme.txt。[Jose Diaz Gonzalez]

-将分类器添加到包中。[何塞·迪亚兹·冈萨雷斯]

-重新安排工人。[何塞·迪亚兹·冈萨雷斯]

-需要皮卡。[Jose Diaz Gonzalez]

-将ZeroMQ安装设为可选。[摩根德拉格兰格]

-格式化。[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-10-25)
----


-upstart脚本示例。[michael d'auria]

-修复了几个导入语句。[Jose Diaz Gonzalez]

-修复二进制调用。[Jose Diaz Gonzalez]

-重构日志记录。[何塞·迪亚兹·冈萨雷斯]

-改善测井。[michael d'auria]

-删除了不必要的打印语句。[Jose Diaz Gonzalez]

-在传输为标准输出时添加默认流处理程序。关闭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提供配置文件


/>删除未使用的json库

冲突:
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变量的默认值。[何塞•迪亚兹•冈萨雷斯]

-修复自述文件和beaver cli帮助以引用正确的rabbitmq主机
环境变量。[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-08-06)
----


-将应用程序移到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添加到自述文件中。[何塞·迪亚兹·冈萨雷斯]

-将版本添加到pyzmq。[何塞·迪亚兹·冈萨雷斯]

-增加了许可证。[何塞·迪亚兹·冈萨雷斯]

-重新排序的进口。[何塞·迪亚兹·冈萨雷斯]

-将所有运输工具移到beaver/transports.py。[Jose Diaz Gonzalez]

-每次启动回调最多计算一次当前时间戳。[Jose
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的html并排表   如何修复Java(安卓)中的“找不到自由端口”错误   java为什么在以下代码中实现接口“onmapreadycallback”时出错?   java在Spring批处理中重置InMemory数据库   java非阻塞网络编程超时问题   安卓 Java:从UTF8字符串创建可绘制   java显示文本文件中包含的路径中的图像   gzipinputstream Java。伊奥。IOException:不是GZIP格式   java线程调度程序如何执行此代码?   java通过setFragmentResult将信息发送到另一个片段   java从任何地方进入活动   java如何使用SNMP4j开发用于搜索OID值的类   Java中的递归字符串索引超出范围错误(字符串索引超出范围异常)   缓存如何清除Java缓存中的特定文件?   java将构建任务添加到maven pom项目   java FileOutputStream非常慢   如果定义了父pom,则不会发生存储库url的java Maven属性替换