October CMSのsystem_event_logsテーブル登録制御について

Octoberに「system_event_logs」テーブルがあるのですが、
Log::info()等でログを出力するたびに、このテーブルにも出力したログが登録されてしまいます。
気づけば数万件のデータが登録されていたということも。

下記2パターンの対応方法を記載します。
1.テーブルに登録しないようにする。
2.ログレベルに応じてデータを登録するようにする。

1.テーブルに登録しないようにする

下記ファイルを修正
modules/system/models/LogSetting.php

    public function initSettingsData()
    {
        $this->log_events = false;    // ←この設定をfalseに
        $this->log_requests = false;
        $this->log_theme = false;
    }

2.ログレベルに応じてデータを登録するようにする。

下記ファイルを修正
modules/system/ServiceProvider.php

    protected function registerLogging()
    {
        Event::listen(\Illuminate\Log\Events\MessageLogged::class, function ($event) {
            //if (EventLog::useLogging()) {
            if (EventLog::useLogging() && in_array($event->level,['error'])) { // errorのみ登録するようにする
                EventLog::add($event->message, $event->level);
            }
        });
    }

.envファイルに定義して、それを参照することで環境毎に設定することも可能になります。


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

メールアドレスが公開されることはありません。