「」をリリースしました。
このエクステンションはMagentoが作成するログファイルやレポートファイルを自動的に削除するエクステンションです。

 ログクリーナーエクステンション

Magentoのログファイルとは

Magentoのログファイルは基本的に開発目的で使用します。
プログラムのエラー内容や、変数の内容などをログファイルに出力することで、不具合が出た際の追跡調査を容易にすることが、ログファイルの一番の目的です。

ログファイルは標準では記録されない

Magentoではログファイルは明示的に有効にしないと記録されません。
この設定は、管理画面の「システム>設定>開発者向け」というところで設定します。
「開発用なのだから本番サイトではログファイルは要らない」と思われる方もおられるでしょう。
ですがそれは誤りです。 

本番サイトこそログが重要

サイトを運用していくと様々な現象に遭遇します。
テスト環境ではなかなか発生させられないエラーや、予想しないユーザーの操作による誤動作、果ては過負荷など。
ログを取っておけば、スムーズに解決できることも、ログがないがために的はずれな対応を繰り返してしまうことも多々あります。 

ですから、本番サイトこそログが重要なのです。
ですが、ログファイルが巨大化する速度は、テストサイトと本番サイトでは場合によっては比較にならないくらいの速度であることがしばしばあります。
もしうっかり、ログファイルを放置してしまうとどうなるのでしょうか。 

ログファイルを放置するとどうなるか

本番サイト上のログファイルをうっかり放置すると、数百MBになっていることがあります。
こうなるとログファイルを削除するか、一旦圧縮した上で退避するかしないと、サーバーのディスク容量を圧迫します。
FTPしか使えないサーバーでは、一旦ファイルをダウンロードした上で消したりしなければならないため、更に面倒です。

肥大化するのはログファイルだけではない

放置すると肥大化するのはログファイルだけではありません。
Magentoにはレポートファイルというものがあります。

レポートファイルは、システムにエラーが起きた際に、その内容を開発者にエラー発生番号で連絡するために作成されます。
このファイルはエラー発生のたびに作成されるので、連続してエラーが出るようなときは、大量にファイルが作られます。

増えすぎたレポートファイルは消すのも大変

うっかり放置したレポートファイルが数千、数万個という単位になると、削除するだけでも大変です。
SSHによる操作ができないサーバーでは、削除処理に半日以上かかることも場合によっては考えられます。 

ログクリーナーエクステンションが実現すること

ログクリーナーエクステンションはこういったMagentoを運用していく際に起きる、ログファイルに関するメンテナンスの手間を軽減します。
特に、SSHが使えないためにLinux付属のlogrotateなどが使えないサーバで重宝します。

ログファイルを日付を付けて管理・自動削除

Magentoの標準ではログファイルに日付がついていません。
ログクリーナーエクステンションは自動的にログファイルのファイル名に日付を追加し、定期的に新しいファイルを作成していきます。
同時に古いファイルが一定数以上滞留すると、削除します。 

この機能によって、ログファイルのファイルサイズはある程度の量に自動的に調節されていきます。
もちろん、過去のログが消えてしまうので、エラー発生から時間が経ちすぎた事象の追跡はできなくなります。

1週間・1ヶ月程度をめどに古いファイルを消していく運用が現実的でしょう。 

レポートファイルを一定日数ごとに削除

ログファイルと同様に、レポートファイルも一定日数または一定ファイル数ごとに削除します。
レポートファイルはほうっておくと前述のとおり膨大な数になりますので、定期的に削除することが望ましいでしょう。

もちろん、レポートファイルができないようにシステムのテストを入念に行うことも重要です。