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 CURL模拟GET及POST函数代码
Apr 25 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
从PHP的源码中深入了解stdClass类
Apr 18 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
详解json在php中的应用
Sep 30 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
世界收音机发展史
2021/03/01 无线电
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
怎么使 Mysql 数据同步
2006/10/09 PHP
php中hashtable实现示例分享
2014/02/13 PHP
php strftime函数的详细用法
2018/06/21 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
php命令行模式代码实例详解
2021/02/26 PHP
基于jQuery的js分页代码
2010/06/10 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python实现的批量下载RFC文档
2015/03/10 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
tensorflow 实现自定义梯度反向传播代码
2020/02/10 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
python安装sklearn模块的方法详解
2020/11/28 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
Java语言的优势
2015/01/10 面试题
党校培训思想汇报
2013/12/30 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
前处理班长职位说明书
2014/03/01 职场文书
百日安全活动总结
2014/05/04 职场文书
房屋所有权证明
2015/06/19 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
导游词之临安白水涧
2019/11/05 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
MySQL三种方式实现递归查询
2022/04/18 MySQL
Android Studio 计算器开发
2022/05/20 Java/Android
Django框架之路由用法
2022/06/10 Python