公開日:2019.12.19

FuelでのログはView側では、
大本(言い方)try {} catch () {}でくくられているため、
基本全てのエラーが吐き出されるようになっています。
そして、タスク(cron)実行する際にもログが出てほしいな~
と思い、調べた結果です。
タスクの場合Fuelの本体とは別のロジックとなっており、
ログに吐き出すようにするには、コーダーさんが処理内に
try {} catch () {}などでくくらなければ
エラーを明示的に吐き出すことができませんでした。(なぜ・・・)
参考サイトとしてリンクを貼りますが(https://qiita.com/notona/items/b821ed0ad04ac3ef8f80)
以下のようなことが書かれておりました
~~~~~
php7 では一部のエラーが Error例外 として throw されるようになりました。
そのため Error と ErrorException がどちらも実装しているインターフェースになっている Throwable でキャッチする
~~~~~
ざっくりいうと、エラーを拾う(出力させる)ためには、タスク処理を
ごっそりと「try {} catch (Throwable $e) {}」でくくる必要がある。
もしくは、エラー出力としcronに設定する際に
0 0 1 * * [php path] [oil path] refine [task name] 2>> [output file name]`date +%Y%m%d`.log
のように、cronを設定する必要がある(この場合は try {} catch () {}の必要はない)
ただ、oil深くまで潜ると。。。。ありました!!
エラー時には、コンソールに表示させる記述が。
こいつを、オーバライドして、ログに吐き出されるようにすれば、
タスクが実行されて、try {} catch () {}でくくらなくても、うまくいく(はず)
※やって見る方は自己責任でお願いします。
テクログに関する記事一覧
-
2014.04.07 テクログ
Objective-C / 日付(NSDate)型を 文字列に変換 -
2018.12.11 テクログ
FuelPHPならvar_dump()よりDebug::dump()のが便利ですよ! -
2013.05.27 テクログ
HTTPリクエストとリアルタイムWEB、最近つまずいたこと -
2013.06.19 テクログ
xamppを複数入れる