【FuelPHP】Tasksクラスでログの出力先を変更

Tasksクラスで使用するログファイルとWEBサイトで使用するログファイルを別々に管理するときのメモ。

通常、FuelPHPでLogクラスを使用するとconfig.phpで設定した出力先にログファイルを作成します。
ですが、Tasksクラスでは別の場所にログを作成したい要望などは存分にあると思っています。
ってか少なくとも自分はありました。

どうやって実装するのか。

Config.phpのログを制御している設定をTasksクラスで上書きしてあげればOKです。
実際のコードだと

こんな感じになります。

ここが肝で、これをLog::xxxxを実行する前に記載してあげる必用があります。
Log::xxxxを実行した後に記載すると上書きされないので注意が必用です。
\Config::set(‘log_path’, APPPATH.’tasks’.DS.’logs’.DS.date(‘Y/m’).DS);

これで、
WEBサイトでは「app/logs/yyyy/mm/dd.php」にログが出力され
Tasksクラスでは「app/tasks/logs/yyyy/mm/dd.php」にログが出力されるようになります。