php高性能日志系统 seaslog 的安装与使用方法分析


Posted in PHP onFebruary 29, 2020

本文实例讲述了php高性能日志系统 seaslog 的安装与使用方法。分享给大家供大家参考,具体如下:

一、什么是日志系统

    一般用于记录系统运行时的信息,一般分为三类:系统日志,应用程序日志,安全日志。日志功能不能影响用户的正常使用。

二、为什么需要日志功能

    1、了解系统运行情况
    2、记录用户操作信息
    3、收集数据

三、为什么选seaslog

    1、高性能(使用C语言)
    2、无需配置
    3、功能完善,使用简单

四、安装seaslog

下载seaslog,根据自已的系统和PHP版本选择,我这里选择windows的php7.0线程安全版本

https://pecl.php.net/package/SeasLog

解压压缩包,把php_seaslog.dll放到php下的ext目录。

修改php.ini文件,添加如下代码

extension=php_seaslog.dll

然后重启服务器,查看phpinfo(),如果有seaslog信息,则说明安装成功。

当然seaslog还有一些基本配置项

;默认log根目录
seaslog.default_basepath = "E:/logs"
;默认logger目录
seaslog.default_logger = default
;是否以type分文件 1是 0否(默认)
seaslog.disting_type = 1
;是否每小时划分一个文件 1是 0否(默认)
seaslog.disting_by_hour = 1
;是否启用buffer 1是 0否(默认)
seaslog.use_buffer = 1
;buffer中缓冲数量 默认0(不使用buffer_size)
seaslog.buffer_size = 100
;记录日志级别 默认0(所有日志)
seaslog.level = 0
;自动记录错误 默认1(开启)
seaslog.trace_error = 1
;自动记录异常信息 默认0(关闭)
seaslog.trace_exception = 0
;日期格式配置 默认"Y:m:d H:i:s"
seaslog.default_datetime_format = "Y:m:d H:i:s"
;日志存储介质 1File 2TCP 3UDP (默认为1)
seaslog.appender = 1
;接收ip 默认127.0.0.1 (当使用TCP或UDP时必填)
seaslog.remote_host = 127.0.0.1
;接收端口 默认514 (当使用TCP或UDP时必填)
seaslog.remote_port = 514

五、seaslog常用方法

配置方法:

setBasePath
getBasePath
setLogger
getLastLogger

写日志方法:

log
info
notice
debug
warning
error

读日志方法:

analyzerCount
analyzerDetail

常用方法使用:

<?php
 
//获取根目录
SeasLog::getBasePath();
//设置根目录
//SeasLog::setBasePath('D:/logs');
 
//不同的模块,设置不同目录
SeasLog::setLogger('Admin');
 
//这条语句会在D:/logs/Admin下生成
//debug.2016122512.log文件
//文件内容为:
//debug | 9552 | 1482641146.119 | 2016:12:25 12:45:46 | 这是一条debug信息
//日志类型 | php进程id | 精确到毫秒的时间戳 | 格式化好的时间 | 内容
SeasLog::debug('这是一条debug信息');
SeasLog::info('这是一条info信息');
 
//统计日志数量
$tmp = SeasLog::analyzerCount('all');
print_r($tmp);
 
//查看日志详情
$tmp = SeasLog::analyzerDetail('debug');
print_r($tmp);
 
//通过日志记录函数
SeasLog::log('debug', '这是一条debug信息');

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
使用PHP模拟HTTP认证
Oct 09 PHP
利用PHP创建动态图像
Oct 09 PHP
php实现memcache缓存示例讲解
Dec 04 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP实现限制IP访问及提交次数的方法详解
Jul 17 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
PHP中关于php.ini参数优化详解
Feb 28 #PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 #PHP
php 的多进程操作实践案例分析
Feb 28 #PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 #PHP
php的无刷新操作实现方法分析
Feb 28 #PHP
php下的原生ajax请求用法实例分析
Feb 28 #PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 #PHP
You might like
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
学习ExtJS table布局
2009/10/08 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
django表单的Widgets使用详解
2019/07/22 Python
python判断元素是否存在的实例方法
2020/09/24 Python
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
优秀村官事迹材料
2014/01/10 职场文书
元旦获奖感言
2014/03/08 职场文书
竞聘演讲稿
2014/04/24 职场文书
委托书怎样写
2014/08/30 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python