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 相关文章推荐
数据库相关问题
Oct 09 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php+ajax实现的点击浏览量加1
Apr 16 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
Jun 09 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
laravel config文件配置全局变量的例子
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去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
php中序列化与反序列化详解
2017/02/13 PHP
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
vue滚动tab跟随切换效果
2020/06/29 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
深入浅析python with语句简介
2018/04/11 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
python爬虫请求头设置代码
2020/07/28 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
项目计划书范文
2014/01/09 职场文书
高中体育教学反思
2014/01/29 职场文书
集体备课反思
2014/02/12 职场文书
赡养老人协议书
2014/04/21 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL