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原创论坛
Oct 09 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
Zend Framework页面缓存实例
Jun 25 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
php自定义函数转换html标签示例
Sep 29 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
PHP与以太坊交互详解
Aug 24 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 变量定义方法
2009/06/14 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[03:52]显微镜下的DOTA2第三期——英雄在无聊的时候干什么
2014/06/20 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
django框架中间件原理与用法详解
2019/12/10 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
html如何对span设置宽度
2019/10/30 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
关于爱情的广播稿
2014/01/16 职场文书
员工晚婚的请假条
2014/02/08 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
会计工作检讨书
2015/02/19 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
Redis 限流器
2022/05/15 Redis