看了網上很多log4php的文章,大多是v0.8、v0.9的,都很舊了,按上面的做總是不對,現在都出到v2.0了,好了,我就給大家說說此版本的如何配置。
1、先上http://www.apache.org/dyn/closer.cgi/incubator/log4php/2.0.0/apache-log4php-2.0.0-incubating-src.zip 下載log4php
2、把壓縮包的./src/main/php中的檔案解壓到工程下的./library/log4php
3、在工程檔案下建立一個檔案 log4php.properties 內容如下:
log4php.threshold = WARN log4php.rootLogger = WARN, default #log4php.appender.ht = LoggerAppenderRollingFile #log4php.appender.ht.File = e:/wwwroot/example.log #log4php.appender.ht.layout = LoggerLayoutPattern #log4php.appender.ht.layout.ConversionPattern = "%d %-5p: %m (%F:%L)%n" log4php.appender.default = LoggerAppenderDailyFile log4php.appender.default.layout = LoggerLayoutPattern log4php.appender.default.layout.ConversionPattern = "%d{ISO8601} [%p] %c: %m (at %F line %L)%n" log4php.appender.default.datePattern = Ymd log4php.appender.default.file = logs/errorLog_%s.log
可以參考管網的手冊:http://logging.apache.org/log4php/docs/configuration.html
4、在網站入口配置的php檔案中加一行
define('LOG4PHP_DIR', APPLICATION_PATH ."/library/log4php");
5、在輸出錯誤的函數中這樣寫:
date_default_timezone_set('Asia/Hong_Kong'); //設定日誌顯示時間所在的時區 require_once(LOG4PHP_DIR."/Logger.php"); Logger::configure(APPLICATION_PATH."/log4php.properties"); //APPLICATION_PATH是工程目錄的路徑哦 $logger = @Logger::getLogger("ht"); $logger->error($msg); //輸出錯誤 $msg //$logger->info($msg); //輸出資訊 $msg //$logger->warn($msg); //輸出警告 $msg date_default_timezone_set('UTC'); //設定回原來的時區
OK,運行後,可以看到工程目錄的logs目錄下產生了記錄檔