Log クラス

Log クラスを使用すると、ログファイルにメッセージを書き込むことができます。

設定

ログファイルは、 config.php 内の属性 'log_path' で指定されたフォルダに配置されます。また、パラメータとして 'log_threshold' 、 'log_date_format' を設定することができます。
これらの設定は Config クラスを使用することによりその場で変更することができます。

パラメータ デフォルト 説明
log_threshold constant
Fuel::L_WARNING
次のいずれかを指定できます: Fuel::L_NONE, Fuel::L_ERROR, Fuel::L_WARNING, Fuel::L_DEBUG, Fuel::L_INFO or Fuel::L_ALL
log_file string
null
ログファイルの名前。指定がない場合、"./YYYY/MM/DD.log" という形式で 1日 1つのログファイルが生成されます。
log_path string
APPPATH.'logs/'
ログファイルの配置場所 (フォルダが書き込み可能である必要があります) 。
log_date_format string
'Y-m-d H:i:s'
ログエントリ日付の形式。PHP の date 形式に準拠。詳細は http://www.php.net/date を参照して下さい。

使用方法

4 つの便利な事前定義関数があります:

Log::info()
Log::debug()
Log::warning()
Log::error()

これらは全て Log::write() 関数を使用しており、最初の引数として、 $level パラメータを渡しています。

例:
// 当日のログファイルに "Info" レベルでログを記述します
$var = 1;
Log::info('Application started (with $var = '.$var.')', 'my_init_function()');

// パラメータ $method を使わずに、ログファイルに $var の新しい値をを保存します。
$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');

// Finally, try to make a log entry with a custom $level
Log::write('Link', 'More info on https://fuelphp.com/');
出力

すべてのログファイルは定義されたフォルダ (上を参照) に保存されます。
ファイル名を設定した場合、すべてのログがそのファイルに書き込まれます。ログファイルが非常に大きくなるのを避けるためには、ログローテーションのメカニズム (例えば、Linux の logrotate) をあなたがセットアップする必要があります。 ファイル名を設定しなかった場合、ログファイルは、 現在の のフォルダの中に のフォルダの中 (例えば、"2013/06") に 日をファイル名として (例えば、"15.php") 作成されます。
この例でのログファイルの完全なパスは次になります: APPPATH.'logs/2013/06/15.php'

The examples above would write the following code to the log file:

<?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
NOTICE - 2011-01-03 18:44:45 --> More info on https://fuelphp.com/

Note that the custom log level "Link" that was used to create the last line was mapped to "Notice". Since Fuel switched to using the Monolog package for logging, custom log levels are no longer supported, the mapping is there to provide backward compatibility with earlier Fuel versions.

info($msg, $method = null)

info メソッドを使用すると、 "Info"$level のログエントリを書き込むことができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$msg 必須 ログエントリ情報。
$method
null
ログエントリを作成したメソッドに関する情報。
返り値 boolean
$var = 1;
Log::info('Application started (with $var = '.$var.')', 'my_init_function()');

debug($msg, $method = null)

debug メソッドを使用すると、 "Debug"$level のログエントリを書き込むことができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$msg 必須 ログエントリ情報。
$method
null
ログエントリを作成したメソッドに関する情報。
返り値 boolean
$var = 5;
Log::debug('$var is now '.$var);

warning($msg, $method = null)

warning メソッドを使用すると、 "Warning"$level のログエントリを書き込むことができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$msg 必須 ログエントリ情報。
$method
null
ログエントリを作成したメソッドに関する情報。
返り値 boolean
// 警告ログのエントリを送信します
if($var !== 1) Log::warning('Although $var has been changed, we will keep going.');

error($msg, $method = null)

error メソッドを使用すると、 "Error"$level のログエントリを書き込むことができます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$msg 必須 ログエントリ情報。
$method
null
ログエントリを作成したメソッドに関する情報。
返り値 boolean
// エラーログのエントリを送信します
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
ログエントリを作成したメソッドに関する情報。
返り値 boolean
// and finally, we create a log entry with a custom $level
Log::write('Link', 'More info on https://fuelphp.com/')

手続き型ヘルパー

logger($level, $msg, $method = null)

logger 関数は Log::write の別名です。

パラメータ
パラメータ デフォルト 説明
$level 必須 独自のレベル。
$msg 必須 ログエントリ情報。
$method
null
ログエントリを作成したメソッドに関する情報。
返り値 void
logger(\Fuel::L_INFO, 'My Message', 'SomeMethod');