一、什么是日志系统
    一般用于记录系统运行时的信息,一般分为三类:系统日志,应用程序日志,安全日志。日志功能不能影响用户的正常使用。

二、为什么需要日志功能
    1、了解系统运行情况
    2、记录用户操作信息
    3、收集数据
    
三、为什么选seaslog
    1、高性能(使用C语言)
    2、无需配置
    3、功能完善,使用简单
    
四、安装seaslog
下载seaslog,根据自已的系统和PHP版本选择,我这里选择windows的php7.0线程安全版本

  1. https://pecl.php.net/package/SeasLog

解压压缩包,把php_seaslog.dll放到php下的ext目录。
修改php.ini文件,添加如下代码

  1. extension=php_seaslog.dll

然后重启服务器,查看phpinfo(),如果有seaslog信息,则说明安装成功。

当然seaslog还有一些基本配置项

  1. ;默认log根目录
  2. seaslog.default_basepath = "E:/logs"
  3. ;默认logger目录
  4. seaslog.default_logger = default
  5. ;是否以type分文件 1 0否(默认)
  6. seaslog.disting_type = 1
  7. ;是否每小时划分一个文件 1 0否(默认)
  8. seaslog.disting_by_hour = 1
  9. ;是否启用buffer 1 0否(默认)
  10. seaslog.use_buffer = 1
  11. ;buffer中缓冲数量 默认0(不使用buffer_size)
  12. seaslog.buffer_size = 100
  13. ;记录日志级别 默认0(所有日志)
  14. seaslog.level = 0
  15. ;自动记录错误 默认1(开启)
  16. seaslog.trace_error = 1
  17. ;自动记录异常信息 默认0(关闭)
  18. seaslog.trace_exception = 0
  19. ;日期格式配置 默认"Y:m:d H:i:s"
  20. seaslog.default_datetime_format = "Y:m:d H:i:s"
  21. ;日志存储介质 1File 2TCP 3UDP (默认为1)
  22. seaslog.appender = 1
  23. ;接收ip 默认127.0.0.1 (当使用TCPUDP时必填)
  24. seaslog.remote_host = 127.0.0.1
  25. ;接收端口 默认514 (当使用TCPUDP时必填)
  26. seaslog.remote_port = 514

五、seaslog常用方法

  1. 配置方法:
  2. setBasePath
  3. getBasePath
  4. setLogger
  5. getLastLogger
  6.  
  7. 写日志方法:
  8. log
  9. info
  10. notice
  11. debug
  12. warning
  13. error
  14.  
  15. 读日志方法:
  16. analyzerCount
  17. analyzerDetail

常用方法使用:

  1. <?php
  2.  
  3. //获取根目录
  4. SeasLog::getBasePath();
  5. //设置根目录
  6. //SeasLog::setBasePath('D:/logs');
  7.  
  8. //不同的模块,设置不同目录
  9. SeasLog::setLogger('Admin');
  10.  
  11. //这条语句会在D:/logs/Admin下生成
  12. //debug.2016122512.log文件
  13. //文件内容为:
  14. //debug | 9552 | 1482641146.119 | 2016:12:25 12:45:46 | 这是一条debug信息
  15. //日志类型 | php进程id | 精确到毫秒的时间戳 | 格式化好的时间 | 内容
  16. SeasLog::debug('这是一条debug信息');
  17. SeasLog::info('这是一条info信息');
  18.  
  19. //统计日志数量
  20. $tmp = SeasLog::analyzerCount('all');
  21. print_r($tmp);
  22.  
  23. //查看日志详情
  24. $tmp = SeasLog::analyzerDetail('debug');
  25. print_r($tmp);
  26.  
  27. //通过日志记录函数
  28. SeasLog::log('debug', '这是一条debug信息');

php的高性能日志系统 seaslog 的安装与使用的更多相关文章

  1. PHP扩展高性能日志系统SeasLog简单上手

    Windows部分:-------------------------------------------------------- https://pecl.php.net/package/Seas ...

  2. php 之 日志系统seaslog安装

    php 之 日志系统seaslog 特点: 1.高性能(使用C语言编写的). 2.无需配置. 3.功能完善.使用简单. 安装: 打开php的扩展官网:https://pecl.php.net/. 然后 ...

  3. 【PHP调试篇】PHP高性能日志组件SeasLog

    简述 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为什么使用SeasLog 无论在 ...

  4. Java日志系统框架的设计与实现

    推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...

  5. 【分享】我们用了不到200行代码实现的文件日志系统,极佳的IO性能和高并发支持,附压力测试数据

    很多项目都配置了日志记录的功能,但是,却只有很少的项目组会经常去看日志.原因就是日志文件生成规则设置不合理,将严重的错误日志跟普通的错误日志混在一起,分析起来很麻烦. 其实,我们想要的一个日志系统核心 ...

  6. 高性能PHP日志插件--Seaslog

    日志系统作为记录系统运行的信息,包括 用户输入,安全日志等,日志系统是不能影响用户的使用. 为什么需要记录日志? 既然日志系统增加了整个系统的开销,为什么我还需要它,这是因为日志能帮我们记录运行的很多 ...

  7. HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统

    一.HAProxy简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点, ...

  8. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  9. PHP SeasLog实现高性能日志记录

    https://www.jianshu.com/p/b5c01eb49df0 windows 安装 注意查看上面的信息 我标注了几个关键点  然后下载自己对应的 https://windows.php ...

随机推荐

  1. 组件Slate教程 & UMG widget构造初始化函数中获取其内部组件

    转自:http://aigo.iteye.com/blog/2296218 目的:在自定义的Widget初始化完毕后,获取其内部的button.combo等UMG组件的C++指针. 这里我们新建了一个 ...

  2. mysq更新(六) 单表查询 多表查询

      本节重点: 单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY fiel ...

  3. Arrays.binarySearch 数组二分查找

    public static void main(String[] args) throws Exception { /** * binarySearch(Object[], Object key) a ...

  4. uva-193-图染色-枚举

    题意:n个节点,可用描成黑色或者白色,黑节点和黑节点不能相连,问最多描出多少黑节点 #include <iostream> #include <stdio.h> #includ ...

  5. B站上的一个MATLAB与神经网络的视频,捡漏

    ▶ av15514817.这里集中了一些从视频中学到的散点. ▶ 语句 "edit + 函数名" 可以打开部分内置函数的源代码.非公开的源代码这会打开一个全是注释的文档. ▶ 函数 ...

  6. jQuery ajax - serializeArray() 方法

    定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身. ...

  7. 创建类type (底层代码)

    类的创建时是用type 实现的 def __init__(self, name): self.name = name def fun(self): print("%s is talking' ...

  8. as3 air 获取文件夹下的所有文件

    private function getFile(directory:File) { var files:Array = directory.getDirectoryListing(); for(va ...

  9. Eclipse launch configuration----Eclipse运行外部工具

    虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切换去是很麻烦的.所以 Eclipse ...

  10. UI5-文档-4.38-Accessibility

    作为本教程的最后一步,我们将改进应用程序的可访问性. 为此,我们将添加ARIA属性.屏幕阅读器使用ARIA属性识别应用程序结构并正确解释UI元素.通过这种方式,我们可以让我们的应用程序对那些使用电脑有 ...