【Laravel】LaravelのログをAWS CloudWatchに転送する
バッチが上手く動いてないみたい、大きな障害にはなっていないけどエラーが出ていないかログを確認したい、そういうときにSSHでサーバに接続して、ログディレクトリまで降りていってログファイルを探して開いて検索して……というのが大変しんどいので、せっかくAWS上で動いてるんだし最低限のログをCloudWatchで見られるようにしたら便利じゃね?ってことでやってみました。
バッチが上手く動いてないみたい、大きな障害にはなっていないけどエラーが出ていないかログを確認したい、そういうときにSSHでサーバに接続して、ログディレクトリまで降りていってログファイルを探して開いて検索して……というのが大変しんどいので、せっかくAWS上で動いてるんだし最低限のログをCloudWatchで見られるようにしたら便利じゃね?ってことでやってみました。
「Amazon Product Advertising API」への対応を行っている最中に、設定ファイルの変更とライブラリのアップデートを行ったところ、すべてのページが404 Not Foundになってしまいました。最初はルートページだけはきちんと表示されていたのですが、いろいろいじっている内にそれも404に。
Laravelで簡単にRSS出力出来るライブラリ「Laravelium/Feed」がものすごく便利なのですが、サンプルに従ってRSSを出力すると実はvalidになら無いことがあります。こういう感じで日付を設定して、出力すると、なぜかRFC2822で出力されずにW3Cの「Feed Validation Service」で上のようなエラーが表示されてしまいます(必要な部分のみ抜粋)。
「RSS配信していないサイトの更新情報を取得し自分でRSS配信する」アプリケーション(通称:DIY RSS)の技術的な話です。きょうびRSSなんて流行りませんし、例によって需要があるとは思えませんが一応メモ書き程度に。
つい何でもSQLをゴリゴリ書きそうになるところを抑えてクエリビルダで何とかしようと頑張るというのも、ORMもクエリビルダも使っていなかった環境からフレームワークに移行するときあるあるかなと思ったりするわけですが、例によって処理の中にこんな感じのクエリがありました。
これまでのFlashを使ったグラフからChart.jsを使ったグラフへの切り替えが完了しました。既存のデータを現在のシステムに移行する必要がありましたが、Laravelで適当なコマンドツールを作って、amChartのXMLファイルを読み込んで解析、必要に応じてデータベース上にテーブルを作ってデータを入力という流れで簡単にコンバートできました。特にLaravelのEloquent ORMには助けられてばかりです。素敵すぎ。