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教程孙仲岳主讲
Jan 07 PHP
php入门学习知识点四 PHP正则表达式基本应用
Jul 14 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 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中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php计算税后工资的方法
2015/07/28 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
js实现微信分享代码
2020/10/11 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python脚本处理空格的方法
2016/08/08 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
详解Python中where()函数的用法
2018/03/27 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python logging设置和logger解析
2019/08/28 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
优秀求职信范文分享
2013/12/19 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
网页美工求职信范文
2014/04/17 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
自主招生英文自荐信
2015/03/25 职场文书
论文致谢词范文
2015/05/14 职场文书
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL