·分模块、分级别
·配置简单(最好是勿须配置)
·日志格式清晰易读
·应用简单、性能很棒 我们知道,PSR-3标准是一个国际化的日志标准,它要求了“模块、级别、清晰、易用”等日志工作应具备的特点。因此,只要我们遵循了PSR-3标准,则我们可以完成“分模块、分级别”以及“日志格式清晰易读”的要求。 “配置简单”这个需求也很好完成。如果严格按照既定规则,其实只需要设置默认目录就可以了。 OK,现在我们只剩下“性能”这一个要求。 既然是日志,免不了会写文件,或者通过pipe通过网络传送到某个存储中心(我们暂不考虑存储中心的设计)。可以想见,假设一个请求中需要写出1000处log,那么势必会有1000次IO,这对性能将是一个很大的拖延点。一般对于处理这种多次相同的请求场景,我们要解决的其实也很简单,使用cache或buffer,把多次请求作归并,从而降低对磁盘或网络的IO,这是一个基本的思想。 SeasLog也是这么做的。设定一个buffer_size(默认100条log),使用PHP请求内存,每写一次log,塞入内存,同时buffer_size加;当buffer_size等于设置值时,则进行一次IO,同时清除buffer; 当然,如果请求结束了、或执行了die、exit或其他异常退出时,不管buffer_size有没有攒够设置值,立刻进行一次IO,同时清除buffer。 到目前为止,SeasLog的正式版本为1.1.6,采用Apache 2.0开源协议,同时可以在php.net官方,和Github库上获得它的完整代码。 Php.net http://pecl.php.net/package/seaslog Github https://github.com/Neeke/SeasLog
·在PHP项目中便捷、规范地记录log
·可配置的默认log目录与模块
·指定log目录与获取当前配置
·初步的分析预警框架
·高效的日志缓冲、便捷的缓冲debug
·遵循 PSR-3 日志接口规范
; configuration for php SeasLog module
extension = seaslog.so
seaslog.default_basepath = /log/seaslog-test ;默认log根目录
seaslog.default_logger = default ;默认logger目录
seaslog.disting_type = 1 ;是否以type分文件 1是 0否(默认)
seaslog.disting_by_hour = 1 ;是否每小时划分一个文件 1是 0否(默认)
seaslog.use_buffer = 1 ;是否启用buffer 1是 0否(默认)
seaslog.buffer_size = 100 ;buffer中缓冲数量 默认0(不使用buffer_size)
seaslog.level = 0 ;记录日志级别 默认0(所有日志) seaslog.disting_type = 1 开启以type分文件,即log文件区分info\warn\erro seaslog.disting_by_hour = 1 开启每小时划分一个文件 seaslog.use_buffer = 1 开启buffer。默认关闭。当开启此项时,日志预存于内存,当请求结束时(或异常退出时)一次写入文件。 seaslog.buffer_size = 100 设置缓冲数量为100. 默认为0,即无缓冲数量限制.当buffer_size大于0时,缓冲量达到该值则写一次文件. seaslog.level = 3 记录的日志级别.默认为0,即所有日志均记录。当level为1时,关注debug以上级别(包括debug),以此类推。level大于8时,所有日志均不记录。
·SEASLOG_DEBUG "debug"
·SEASLOG_INFO "info"
·SEASLOG_NOTICE "notice"
·SEASLOG_WARNING "warning"
·SEASLOG_ERROR "error"
·SEASLOG_CRITICAL "critical"
·SEASLOG_ALERT "alert"
·SEASLOG_EMERGENCY "emergency"
seaslog类封装中应该注意的地方,http://wp.iyouths.org/283.html######感谢关注SeasLog######能不能生成压缩日志,因为我们的项目日志每小时就几十G甚至几百G,比如压缩后20200520.zip,可以按小时,按天压缩,能满足这个需求,那该多美!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。