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程序实现支持页面后退的两种方法
Jun 30 PHP
深入file_get_contents与curl函数的详解
Jun 25 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
Aug 11 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 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中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
json简单介绍
2008/06/10 Javascript
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
浅谈Python的异常处理
2016/06/19 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
大学生写自荐信的技巧
2014/01/08 职场文书
服务承诺书怎么写
2014/05/24 职场文书
企业法人代表任命书
2014/06/06 职场文书
质量管理标语
2014/06/12 职场文书
工地标语大全
2014/06/18 职场文书
2015年教师节广播稿
2015/08/19 职场文书