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重新实现PHP脚本引擎内置函数
Mar 06 PHP
又一个php 分页类实现代码
Dec 03 PHP
PHP中PDO的错误处理
Sep 04 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
php实现获取文件mime类型的方法
Feb 11 PHP
CodeIgniter辅助之第三方类库third_party用法分析
Jan 20 PHP
php strftime函数的详细用法
Jun 21 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
Dec 18 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 PHP
Laravel数据库读写分离配置的方法
Oct 13 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设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
python实现文字版扫雷
2020/04/24 Python
python如何安装下载后的模块
2020/07/03 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
大二自我鉴定范文
2013/10/05 职场文书
毕业生求职推荐信
2013/11/04 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
党小组评议意见
2015/06/02 职场文书
重阳节活动主持词
2015/07/04 职场文书
高中同学会致辞
2015/08/01 职场文书
社区结对共建协议书
2016/03/23 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android