当前位置: 首页 > 文档资料 > FuelPHP 中文文档 >

Log - 类別

优质
小牛编辑
127浏览
2023-12-01

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');