信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2019

19

12月

FuelPHPでのクーロンログ

テクログ

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 () {}でくくらなくても、うまくいく(はず)


※やって見る方は自己責任でお願いします。

この記事を書いた人

画像:投稿者アイコン

うみ

所 属:
WEBインテグレーション事業部
出身地:
東京
仕事内容:
開発業務