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 print EOF实现方法
May 21 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
深入解析php之apc
May 15 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
CI框架Session.php源码分析
Nov 03 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
检测codeigniter脚本消耗内存情况的方法
Mar 21 PHP
php无限分类使用concat如何实现
Nov 05 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 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
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
基于jQuery的倒计时实现代码
2012/05/30 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
微信小程序按钮点击动画效果的实现
2019/09/04 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python中扩展包的安装方法详解
2017/06/14 Python
python读取和保存视频文件
2018/04/16 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
Python pip使用超时问题解决方案
2020/08/03 Python
Python之多进程与多线程的使用
2021/02/23 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
通信工程毕业生求职信
2013/11/16 职场文书
店长助理岗位职责
2013/12/13 职场文书
综合实践活动总结
2014/05/05 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
小学总务工作总结
2015/08/13 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书