【背景】
为实现开发前期联调bug 定位、线上bug快速定位、快速响应,遂暂为斐讯路由后台 Api 模块添加日志记录支持。
【SeasLog 简介】
1. 国产log组件
2. 简洁配置
3.应用简单、性能强劲
4.分模块、分级别记录日志。
分模块:如斐讯路由后台分为 Api 模块、后台Admin模块。
分级别:支持8种日志记录级别,对斐讯路由后台来说日志记录级别定义为—debug、info、emergency 即可。
5.日志记录策略:日志->内存->文件
更详细介绍,github主页:https://github.com/Neeke/SeasLog
【SeasLog安装流程】
1.打开网址 http://pecl.php.net/
2.选择seaslog 并点击获取箭头
3.点击seaslog
4.下载最新版本SeasLog
5.安装php seaslog 扩展
5.1解压压缩包
5.2使用phpize 编译安装seaslog 外挂模块
什么是phpize?链接如下:http://blog.csdn.net/czhphp/article/details/68067324
由上至下之行前两个命令,执行完phpize 命令之后,会看到文件夹下多出了 configure 文件夹
5.3执行如下命令 ./configure — with-php-config=(服务器上php安装路径)/usr/local/php/bin/php-config
“=” 后面的路径为本地php-config 目录
5.4执行如下命令 make && make install 编译 SeasLog 模块
5.5 安装成功,安装成功之后,扩展模块所在文件路径如下图所示
/usr/local/Cellar/php55/5.5.38_11/lib/php/extensions/no-debug-non-zts-20121212/ 本机
5.6在php.ini 中配置 seaslog.so 扩展,应该是在etc文件夹下
5.7 重启php应用服务器
5.8 验证 seaslog有没有安装成功,访问phpInfo.php 文件
SeasLog 为国产日志软件,支持!
gitHub 地址:https://github.com/Neeke/SeasLog
作者自述:https://github.com/Neeke/SeasLog/blob/master/README.md
5.9 在 php.ini 中配置 seaslog 基础配置
关于 SeasLog 的配置跟统一开发环境一致。
5.10 重新访问php info 看是否配置成功
【现阶段SeasLog实践情况】
已在统一开发环境实现斐讯路由App 5.0.0 新增接口的日志记录。
若测试环境配置通过,可立即接入。
【SeasLog 对 接口响应性能的影响】
理论上SeasLog 对接口响应时间肯定会有延迟影响。
但因SeasLog 对应用系统产生的日志是先写入存储到内存,当内存中写入的日志达到阀值(内存中日志达到1000行刷新一次,一次访问结束刷新一次),便刷新日志内容到文件当中。(缓冲区)
性能测试:
虽有理论支持, 建议仍需要做性能测试。
【SeasLog 与 Kibana 结合】
SeasLog 负责生产日志。
Kibana负责消费、分析日志。
烦请运维同事先在测试环境配置、多谢!