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和MySQL保存和输出图片
Oct 09 PHP
文件上传的实现
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
PHP 时间日期操作实战
Aug 26 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
destoon供应信息title调用出公司名称的方法
Aug 22 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
Nov 27 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
php中addslashes函数与sql防注入
2014/11/17 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHP实现百度人脸识别
2019/05/06 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python3爬虫学习入门教程
2018/12/11 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
J2EE面试题
2016/03/14 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
自我鉴定范文
2013/11/10 职场文书
婚礼秀策划方案
2014/05/19 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
python 下划线的多种应用场景总结
2021/05/12 Python
Python Django项目和应用的创建详解
2021/11/27 Python