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
模拟OICQ的实现思路和核心程序(二)
Oct 09 PHP
基于mysql的论坛(7)
Oct 09 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php表单提交问题的解决方法
Apr 12 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
一个简单的php路由类
May 29 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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中for循环语句的几种变型
2006/11/26 PHP
php 设计模式之 单例模式
2008/12/19 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
Python守护进程用法实例分析
2015/06/04 Python
python实现图像识别功能
2018/01/29 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
django中的数据库迁移的实现
2020/03/16 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
元宵节主持词
2014/03/25 职场文书
新年寄语大全
2014/04/12 职场文书
安全生产月活动总结
2014/05/04 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
交通事故起诉书
2015/05/19 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
六年级作文之关于梦
2019/10/22 职场文书
Python+Tkinter打造签名设计工具
2022/04/01 Python