欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php高性能日志系统 seaslog 的安装与使用方法分析

程序员文章站 2022-05-14 16:48:52
本文实例讲述了php高性能日志系统 seaslog 的安装与使用方法。分享给大家供大家参考,具体如下:一、什么是日志系统 一般用于记录系统运行时的信息,一般分为三类:系统日志,应用程序日志,安全日志。...

本文实例讲述了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信息');