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将数据导入到Foxmail
Oct 09 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
php 操作符与控制结构
Mar 07 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
解析thinkphp中的M()与D()方法的区别
Jun 22 PHP
php生成图片缩略图的方法
Apr 07 PHP
php利用事务处理转账问题
Apr 22 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
js加强的经典分页实例
2013/03/15 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
多版本Python共存的配置方法
2017/05/22 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
Python集合操作方法详解
2020/02/09 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
python读取mysql数据绘制条形图
2020/03/25 Python
浅析Python 多行匹配模式
2020/07/24 Python
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
信息工程学院毕业生推荐信
2013/11/05 职场文书
初三家长会邀请函
2014/01/18 职场文书
采购求职信
2014/03/17 职场文书
学校师德承诺书
2014/05/23 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
人大代表选举标语
2014/10/07 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
5道关于python基础 while循环练习题
2021/11/27 Python