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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
PHP生成静态页面详解
Dec 05 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
Jun 18 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
YII框架模块化处理操作示例
Apr 26 PHP
php操作redis数据库常见方法实例总结
Feb 20 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实现的MySQL数据浏览器
2007/03/11 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
AngularJS中的作用域实例分析
2018/05/16 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
python实现代码行数统计示例分享
2014/02/10 Python
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
python操作excel的方法
2018/08/16 Python
Python高斯消除矩阵
2019/01/02 Python
OpenCV+Python识别车牌和字符分割的实现
2019/01/31 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
岗位职责的含义
2013/11/17 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
大学生作弊检讨书
2014/09/11 职场文书
庆元旦演讲稿
2014/09/15 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
信仰纪录片观后感
2015/06/08 职场文书
小学班长竞选稿
2015/11/20 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang