Log 类別
Log 类別能让你寫訊息到紀錄档案。
配置
紀錄档案被放置在 config.php 的 'log_path' 屬性所指定的文件夾。你也可以在那裡設定 'log_threshold' 與 'log_date_format' 參数。
这些設定也可以藉由使用 Config 类別 动態地改變。
log_threshold |
常数 |
Fuel::L_WARNING
|
可以是以下任何一種:Fuel::L_NONE、Fuel::L_ERROR、Fuel::L_WARNING、Fuel::L_DEBUG、Fuel::L_INFO 或 Fuel::L_ALL
|
log_file |
字串 |
null
|
紀錄档案的名稱。如果沒給,它会被產生为 "./YYYY/MM/DD.log" 的形式,每天一个紀錄档案。
|
log_path |
字串 |
APPPATH.'logs/'
|
要放置紀錄档案的地方(文件夾必須为可寫入)
|
log_date_format |
字串 |
'Y-m-d H:i:s'
|
紀錄條目的時間格式。此格式必須遵循 PHP 日期格式規則。詳見 http://www.php.net/date。
|
用法
有四種預定義的易用函式:
Log::info()
Log::debug()
Log::warning()
Log::error()
它們都使用主要的 Log::write() 函式,此函式需要 $level 參数做为第一个變数。
一些範例:
// 以 "Info" 等級寫入一个紀錄條目到紀錄档案
$var = 1;
Log::info('Application started (with $var = '.$var.')', 'my_init_function()');
// 儲存 $var 新的值到紀錄档案而不使用 $method 參数
$var = 5;
Log::debug('$var is now '.$var);
// 发送一个警告紀錄條目
if($var !== 1) Log::warning('Although $var has been changed, we will keep going.');
// 发送一个错误紀錄條目
if($var !== 1) Log::error('We cannot keep going, $var has been changed! :o');
// 最後,建立一个自訂 $level 的紀錄條目
Log::write('Link', 'More info on http://fuelphp.com/');
輸出
所有紀錄档案被放置在定義的文件夾中(見上文)。
如果你已经配置了一个档案名稱,所有紀錄会被寫到这个档案。你需要設置你自己的紀錄輪換機制
(例如 Linux logrotate)來避免档案變得非常大。如果你還沒配置一个档案名稱,
紀錄档案会在透過目前年其次是月(例如 "2013/06")命名的文件夾中,
帶著日期做为档案名稱(例如 "15.php")揭露。
指向我們的範例紀錄档案的完整路徑会是:APPPATH.'logs/2011/06/15.php'
上面的範例将会寫入以下的程式码到紀錄档案:
<?php defined('COREPATH') or exit('No direct script access allowed'); ?>
Info - 2011-01-03 18:44:45 --> my_init_function() - Application started (with $var = 1)
Debug - 2011-01-03 18:44:45 --> $var is now 5
Warning - 2011-01-03 18:44:45 --> Although $var has been changed, we will keep going.
Error - 2011-01-03 18:44:45 --> We cannot keep going, $var has been changed! :o
Link - 2011-01-03 18:44:45 --> More info on http://fuelphp.com/
info($msg, $method = null)
info 方法能让你以 "Info" 的 $level 寫一个紀錄條目。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
布林 |
範例 |
$var = 1; Log::info('Application started (with $var = '.$var.')', 'my_init_function()');
|
debug($msg, $method = null)
debug 方法能让你以 "Debug" 的 $level 寫一个紀錄條目。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
布林 |
範例 |
$var = 5; Log::debug('$var is now '.$var);
|
warning($msg, $method = null)
warning 方法能让你以 "Warning" 的 $level 寫一个紀錄條目。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
布林 |
範例 |
// 我們发送一个警告紀錄條目 if($var !== 1) Log::warning('Although $var has been changed, we will keep going.');
|
error($msg, $method = null)
error 方法能让你以 "Error" 的 $level 寫一个紀錄條目。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
布林 |
範例 |
// 我們发送一个错误紀錄條目 if($var !== 1) Log::error('We cannot keep going, $var has been changed! :o');
|
write($level, $msg, $method = null)
write 方法能让你以自訂的 $level 寫一个紀錄條目。
靜態 |
是 |
參数 |
參数 |
預設 |
描述 |
$level |
必要 |
自訂的等級。 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
布林 |
範例 |
// 最後,我們以自訂 $level 建立一个紀錄條目
Log::write('Link', 'More info on http://fuelphp.com/')
|
程序助手
logger($level, $msg, $method = null)
logger 函式是 Log::write 的別名。
參数 |
參数 |
預設 |
描述 |
$level |
必要 |
自訂的等級。 |
$msg |
必要 |
資訊紀錄條目的訊息。 |
$method |
null
|
關於建立紀錄條目的方法資訊。 |
|
回傳 |
空 |
範例 |
logger(\Fuel::L_INFO, 'My Message', 'SomeMethod');
|