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的高性能日志系统 seaslog 的安装与使用的更多相关文章
- PHP扩展高性能日志系统SeasLog简单上手
Windows部分:-------------------------------------------------------- https://pecl.php.net/package/Seas ...
- php 之 日志系统seaslog安装
php 之 日志系统seaslog 特点: 1.高性能(使用C语言编写的). 2.无需配置. 3.功能完善.使用简单. 安装: 打开php的扩展官网:https://pecl.php.net/. 然后 ...
- 【PHP调试篇】PHP高性能日志组件SeasLog
简述 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为什么使用SeasLog 无论在 ...
- Java日志系统框架的设计与实现
推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...
- 【分享】我们用了不到200行代码实现的文件日志系统,极佳的IO性能和高并发支持,附压力测试数据
很多项目都配置了日志记录的功能,但是,却只有很少的项目组会经常去看日志.原因就是日志文件生成规则设置不合理,将严重的错误日志跟普通的错误日志混在一起,分析起来很麻烦. 其实,我们想要的一个日志系统核心 ...
- 高性能PHP日志插件--Seaslog
日志系统作为记录系统运行的信息,包括 用户输入,安全日志等,日志系统是不能影响用户的使用. 为什么需要记录日志? 既然日志系统增加了整个系统的开销,为什么我还需要它,这是因为日志能帮我们记录运行的很多 ...
- HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统
一.HAProxy简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点, ...
- 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- PHP SeasLog实现高性能日志记录
https://www.jianshu.com/p/b5c01eb49df0 windows 安装 注意查看上面的信息 我标注了几个关键点 然后下载自己对应的 https://windows.php ...
随机推荐
- 组件Slate教程 & UMG widget构造初始化函数中获取其内部组件
转自:http://aigo.iteye.com/blog/2296218 目的:在自定义的Widget初始化完毕后,获取其内部的button.combo等UMG组件的C++指针. 这里我们新建了一个 ...
- mysq更新(六) 单表查询 多表查询
本节重点: 单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY fiel ...
- Arrays.binarySearch 数组二分查找
public static void main(String[] args) throws Exception { /** * binarySearch(Object[], Object key) a ...
- uva-193-图染色-枚举
题意:n个节点,可用描成黑色或者白色,黑节点和黑节点不能相连,问最多描出多少黑节点 #include <iostream> #include <stdio.h> #includ ...
- B站上的一个MATLAB与神经网络的视频,捡漏
▶ av15514817.这里集中了一些从视频中学到的散点. ▶ 语句 "edit + 函数名" 可以打开部分内置函数的源代码.非公开的源代码这会打开一个全是注释的文档. ▶ 函数 ...
- jQuery ajax - serializeArray() 方法
定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身. ...
- 创建类type (底层代码)
类的创建时是用type 实现的 def __init__(self, name): self.name = name def fun(self): print("%s is talking' ...
- as3 air 获取文件夹下的所有文件
private function getFile(directory:File) { var files:Array = directory.getDirectoryListing(); for(va ...
- Eclipse launch configuration----Eclipse运行外部工具
虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切换去是很麻烦的.所以 Eclipse ...
- UI5-文档-4.38-Accessibility
作为本教程的最后一步,我们将改进应用程序的可访问性. 为此,我们将添加ARIA属性.屏幕阅读器使用ARIA属性识别应用程序结构并正确解释UI元素.通过这种方式,我们可以让我们的应用程序对那些使用电脑有 ...