1、安装SeasLog
wget https://github.com/Neeke/SeasLog/archive/master.zip #下载
unzip master #解压
phpize #是用来扩展php扩展模块
./configure --with-php-config=/usr/bin/php-config #Configure脚本配置 这里的/usr/bin/php-config为本机的位置,可以使用whereis php-confing找到
make && make test && make install #安装完成后会有安装SeasLog扩展的文件地址
extension=seaslog.so #在php.ini中添加
systemctl start httpd.service #重启apache服务
#完成输出phpinfo查看状态
phpize 扩展php模块
可以使用whereis php-confing找到位置
make && make test && make install 安装完成
安装SeasLog扩展的文件地址
修改php.ini配置
在php.ini中添加 extension=seaslog.so
重启apache服务输出phpinfo(),这里面有很多配置,可以根据自己的需要进行修改
2、配置SeasLog
官网的配置项
这里是seaslog.ini 文件,安装没有使用该方法的可以直接放在php.ini中。
[SeasLog]
;configuration for php SeasLog module
extension = seaslog.so
;默认log根目录
seaslog.default_basepath = "/var/log/www"
;默认logger目录
seaslog.default_logger = "default"
;日期格式配置 默认"Y-m-d H:i:s"
seaslog.default_datetime_format = "Y-m-d H:i:s"
;日志格式模板 默认"%T | %L | %P | %Q | %t | %M"
seaslog.default_template = "%T | %L | %P | %Q | %t | %M"
;是否以目录区分Logger 1是(默认) 0否
seaslog.disting_folder = 1
;是否以type分文件 1是 0否(默认)
seaslog.disting_type = 0
;是否每小时划分一个文件 1是 0否(默认)
seaslog.disting_by_hour = 0
;是否启用buffer 1是 0否(默认)
seaslog.use_buffer = 0
;buffer中缓冲数量 默认0(不使用buffer_size)
seaslog.buffer_size = 100
;cli运行时关闭buffer
;1是 0否(默认)
seaslog.buffer_disabled_in_cli = 0
;记录日志级别,数字越大,根据级别记的日志越多。
;0-EMERGENCY 1-ALERT 2-CRITICAL 3-ERROR 4-WARNING 5-NOTICE 6-INFO 7-DEBUG 8-ALL
;默认8(所有日志)
;
; 注意, 该配置项自1.7.0版本开始有变动。
; 在1.7.0版本之前, 该值数字越小,根据级别记的日志越多:
; 0-all 1-debug 2-info 3-notice 4-warning 5-error 6-critical 7-alert 8-emergency
; 1.7.0 之前的版本,该值默认为0(所有日志);
seaslog.level = 8
;日志函数调用回溯层级
;影响预定义变量 %F 中的行数
;默认0
seaslog.recall_depth = 0
;自动记录notice 默认0(关闭)
seaslog.trace_notice = 0
;自动记录warning 默认0(开启)
seaslog.trace_warning = 0
;自动记录错误 默认1(开启)
seaslog.trace_error = 1
;自动记录异常信息 默认0(关闭)
seaslog.trace_exception = 0
;日志存储介质 1File 2TCP 3UDP (默认为1)
seaslog.appender = 1
;写入重试次数
;默认0(不重试)
seaslog.appender_retry = 0
;接收ip 默认127.0.0.1 (当使用TCP或UDP时必填)
seaslog.remote_host = "127.0.0.1"
;接收端口 默认514 (当使用TCP或UDP时必填)
seaslog.remote_port = 514
;接收端口的超时时间 默认1秒
seaslog.remote_timeout = 1
;过滤日志中的回车和换行符 (默认为0)
seaslog.trim_wrap = 0
;是否开启抛出SeasLog自身异常 1开启(默认) 0否
seaslog.throw_exception = 1
;是否开启忽略SeasLog自身warning 1开启(默认) 0否
seaslog.ignore_warning = 1
;是否开启性能追踪 1开启 0关闭(默认)
seaslog.trace_performance = 0
;性能追踪时的千分比采样率
;默认10,即百分之一
seaslog.trace_performance_sample_rate = 10
;性能追踪时的开始层级 默认从第1层开始
seaslog.trace_performance_start_depth = 1
;性能追踪时深度层级 默认5层
seaslog.trace_performance_max_depth = 5
;性能追踪时每层的函数最大数 按wall_time降序排列top 默认top5
seaslog.trace_performance_max_functions_per_depth = 5
;性能追踪时当前请求执行时间的记录阈值 只有当请求执行时间大于该值时,才记录性能日志 默认1000ms
seaslog.trace_performance_min_wall_time = 1000
;性能追踪时每个方法执行时间的记录阈值 只有当方法执行时间大于该值时,才参与计算 默认10ms
seaslog.trace_performance_min_function_wall_time = 10
这里修改一下配置
seaslog.default_basepath = "/log" #日志文件存储根目录
seaslog.disting_type = 1 #开启按日志等级分类存储日志信息
重启apache服务,可以看到配置已经生效