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 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
PHP基本语法总结
Sep 06 PHP
ThinkPHP分页实例
Oct 15 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
php实现将二维关联数组转换成字符串的方法详解
Jul 31 PHP
PHP日志LOG类定义与用法示例
Sep 06 PHP
PHP中mysqli_get_server_version()的实例用法
Feb 03 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
提问的智慧
2006/10/09 PHP
PHP 身份验证方面的函数
2009/10/11 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
Python显示进度条的方法
2014/09/20 Python
Python中的集合类型知识讲解
2015/08/19 Python
深入理解Python装饰器
2016/07/27 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
2014年端午节演讲稿范文
2014/05/23 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
重阳节活动主持词
2015/07/04 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle