课程目的
- 了解为什么需要日志功能
- 学会使用高性能的 SeasLog
- 如何在实际的项目中使用 SeasLog
什么是日志系统
专门记录系统运行时的信息的系统
日志的分类:
- 系统日志:硬件或系统内核奔溃了
- 服务日志:MySQL 服务或 PHP-FPM 服务奔溃了
- 安全日志:MySQL 或 Linux 服务器受到了入侵,需要记录相关信息
- 应用日志:队列发送消息或邮件成功时记录相关信息
然后日志系统的功能不能影响到其他正常功能的使用。
为什么需要日志功能
- 了解系统运行情况
- 记录用户操作信息
- 收集程序各项数据
为什么使用 SeasLog
- 高性能;SeasLog 是采用 C 语言编写的,而且它自带缓冲池的功能,先写入内存,再一次性写入文件
- 无需配置
- 功能完善,使用简单,自带分类模块,统计功能。
如何安装 SeasLog 扩展
- tar 解压
- phpize
- ./config || ./config –with-php-config=PHP-CLI-PATH
- make && make install
- 返回 seaslog.so 扩展安装地址
- 打开 php.ini 文件,将安装地址写入 php.ini
- 重启 PHP-FPM 和 Web Server
SeasLog 配置项
- seaslog.default_basepath:默认 log 根目录
- seaslog.default_logger:默认 logger 目录
- seaslog.disting_type:是否以 type 分文件
- seaslog.disting_by_hour:是否每小时划分一个文件
- seaslog.use_buffer:是否启用 use_buffer
- seaslog.buffer_size:buffer 中缓冲数量
- seaslog.level:记录日志级别
- seaslog.trace_error:自动记录错误
- seaslog.trace_exception:自动记录异常信息
Seaslog 常用方法
- 配置方法
- setBasePath 设置存放路径
- getBasePath 获取存放路径
- setLogger 配置模块
- getLastLogger 获取模块
- 写日志方法
- log
- info
- notice
- debug
- warning
- error
- 读日志方法
- analyzerCount
- analyzerDetail
Seaslog 集成与 PHP 框架中
查看框架代码,使用适配器模式
注意事项
- 不要在虚拟主机中使用 SeasLog,它需要安装配置 PHP 扩展,确保对虚拟主机有足够的权限再操作
- 不要在集群服务中使用 SeasLog,它职责更多是本地日志存储,集群服务需要支持网络日志存储的服务