本文實(shí)例講述了php高性能日志系統(tǒng) seaslog 的安裝與使用方法。分享給大家供大家參考,具體如下:
一、什么是日志系統(tǒng)
一般用于記錄系統(tǒng)運(yùn)行時(shí)的信息,一般分為三類:系統(tǒng)日志,應(yīng)用程序日志,安全日志。日志功能不能影響用戶的正常使用。
二、為什么需要日志功能
1、了解系統(tǒng)運(yùn)行情況
2、記錄用戶操作信息
3、收集數(shù)據(jù)
三、為什么選seaslog
1、高性能(使用C語(yǔ)言)
2、無(wú)需配置
3、功能完善,使用簡(jiǎn)單
四、安裝seaslog
下載seaslog,根據(jù)自已的系統(tǒng)和PHP版本選擇,我這里選擇windows的php7.0線程安全版本
https://pecl.php.net/package/SeasLog
解壓壓縮包,把php_seaslog.dll放到php下的ext目錄。
修改php.ini文件,添加如下代碼
extension=php_seaslog.dll
然后重啟服務(wù)器,查看phpinfo(),如果有seaslog信息,則說(shuō)明安裝成功。
當(dāng)然seaslog還有一些基本配置項(xiàng)
;默認(rèn)log根目錄
seaslog.default_basepath = "E:/logs"
;默認(rèn)logger目錄
seaslog.default_logger = default
;是否以type分文件 1是 0否(默認(rèn))
seaslog.disting_type = 1
;是否每小時(shí)劃分一個(gè)文件 1是 0否(默認(rèn))
seaslog.disting_by_hour = 1
;是否啟用buffer 1是 0否(默認(rèn))
seaslog.use_buffer = 1
;buffer中緩沖數(shù)量 默認(rèn)0(不使用buffer_size)
seaslog.buffer_size = 100
;記錄日志級(jí)別 默認(rèn)0(所有日志)
seaslog.level = 0
;自動(dòng)記錄錯(cuò)誤 默認(rèn)1(開(kāi)啟)
seaslog.trace_error = 1
;自動(dòng)記錄異常信息 默認(rèn)0(關(guān)閉)
seaslog.trace_exception = 0
;日期格式配置 默認(rèn)"Y:m:d H:i:s"
seaslog.default_datetime_format = "Y:m:d H:i:s"
;日志存儲(chǔ)介質(zhì) 1File 2TCP 3UDP (默認(rèn)為1)
seaslog.appender = 1
;接收ip 默認(rèn)127.0.0.1 (當(dāng)使用TCP或UDP時(shí)必填)
seaslog.remote_host = 127.0.0.1
;接收端口 默認(rèn)514 (當(dāng)使用TCP或UDP時(shí)必填)
seaslog.remote_port = 514
五、seaslog常用方法
配置方法:
setBasePath
getBasePath
setLogger
getLastLogger
寫日志方法:
log
info
notice
debug
warning
error
讀日志方法:
analyzerCount
analyzerDetail
常用方法使用:
?php
//獲取根目錄
SeasLog::getBasePath();
//設(shè)置根目錄
//SeasLog::setBasePath('D:/logs');
//不同的模塊,設(shè)置不同目錄
SeasLog::setLogger('Admin');
//這條語(yǔ)句會(huì)在D:/logs/Admin下生成
//debug.2016122512.log文件
//文件內(nèi)容為:
//debug | 9552 | 1482641146.119 | 2016:12:25 12:45:46 | 這是一條debug信息
//日志類型 | php進(jìn)程id | 精確到毫秒的時(shí)間戳 | 格式化好的時(shí)間 | 內(nèi)容
SeasLog::debug('這是一條debug信息');
SeasLog::info('這是一條info信息');
//統(tǒng)計(jì)日志數(shù)量
$tmp = SeasLog::analyzerCount('all');
print_r($tmp);
//查看日志詳情
$tmp = SeasLog::analyzerDetail('debug');
print_r($tmp);
//通過(guò)日志記錄函數(shù)
SeasLog::log('debug', '這是一條debug信息');
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP日志操作技巧總結(jié)》、《php文件操作總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- php提高腳本性能的4個(gè)技巧
- 使用Rancher在K8S上部署高性能PHP應(yīng)用程序的教程
- php7性能提升的原因詳解
- golang、python、php、c++、c、java、Nodejs性能對(duì)比
- PHP調(diào)試及性能分析工具Xdebug詳解
- php性能分析之php-fpm慢執(zhí)行日志slow log用法淺析
- PHP性能優(yōu)化大全(php.ini)
- PHP框架性能測(cè)試報(bào)告
- 詳解php中implode explode serialize json msgpack性能對(duì)比