发布于 2017-09-19 09:54:38 | 126 次阅读 | 评论: 0 | 来源: 网友投递
SeasLog PHP日志扩展
SeasLog是一个PHP的日志扩展.log日志,通常是系统或软件、应用的运行记录。通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分 析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发 现问题并快速定位、解决问题,补救损失。
SeasLog 1.7.6 发布,更新内容:
1.7.6
Fixed analyzerDetail bug, use grep -ai key_words.
Fixed issue #152. Segfault in cli.
1.7.5
License更新,从Apache License 2.0 更新到 PHP License 3.01.
遵循RFC5424规范发送到 Rsyslog(TCP/UDP)
支持 RequestId 区分请求 fixed issue #134.
更新 Analyzer 脚本版本至 1.1.0, fixed issue #139.
优化analyzerCount 和 analyzerDetail 统计函数性能,fixed issue #133.
Fixed issue #138. Error by file exists.
Fixed issue #140. Error by setDatetimeFormat.
Fixed issue #142. Error by too many open files.
Fixed issue #144. Error by read log detail order desc.
Fixed issue #145. Error by analyzerDetail.
Fixed issue #146. Segfault at php-fpm.
附1:PECL项目主页http://pecl.php.net/package/SeasLog
附2:GitHub项目主页https://github.com/Neeke/SeasLog
SeasLog
Yet a log extension for PHP.A effective,fast,stable log extension for PHP
@author Chitao.Gao [neeke@php.net]
log日志,通常是系统或软件、应用的运行记录。通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。
php内置error_log、syslog函数功能强大且性能极好,但由于各种缺陷(error_log无错误级别、无固定格式,syslog不分模块、与系统日志混合),灵活度降低了很多,不能满足应用需求。
好消息是,有不少第三方的log类库弥补了上述缺陷,如log4php、plog、Analog等(当然也有很多应用在项目中自己开发的log类)。其中以log4php最为著名,设计精良、格式完美、文档完善、功能强大。推荐。
不过log4php在性能方面表现非常差,下图是SeasLog与log4php的ab并发性能测试( 测试环境:Ubuntu12.04单机,CPU I3,内存 16G,硬盘 SATA 7200):
那么有没有一种log类库满足以下需求呢:
分模块、分级别
配置简单(最好是勿须配置)
日志格式清晰易读
应用简单、性能很棒
SeasLog 正是应此需求而生。
在PHP项目中便捷、规范地记录log
可配置的默认log目录与模块
指定log目录与获取当前配置
初步的分析预警框架
高效的日志缓冲、便捷的缓冲debug
遵循 PSR-3 日志接口规范
连接TCP端口,以RFC5424格式发送日志
连接UDP端口,以RFC5424格式发送日志
支持RequestId区分请求
支持日志模板自定义
便捷、规范的log记录
高效的海量log分析
可配置、多途径的log预警