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函数(简单整理)
Apr 30 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php中{}大括号是什么意思
Dec 01 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
php网页版聊天软件实现代码
Aug 12 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 PHP
php实现微信和支付宝支付的示例代码
Aug 11 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
php使用递归计算文件夹大小
2014/12/24 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
JS实现self的resend
2010/07/22 Javascript
jquery中动态效果小结
2010/12/16 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript获取当前网页标题(title)的方法
2015/04/03 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
JavaScript实现简单验证码
2020/08/24 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python中datetime常用时间处理方法
2015/06/15 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
python+logging+yaml实现日志分割
2019/07/22 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
计划生育目标责任书
2015/05/09 职场文书
民事起诉状范文
2015/05/19 职场文书
热血教师观后感
2015/06/10 职场文书
创业计划书之面包店
2019/09/12 职场文书