LoginSignup
8
8

More than 5 years have passed since last update.

Laravelでログファイル名をカスタマイズする方法

Posted at

Laravel5.3及び5.4でログファイル名を[任意の文字列]-yyyy-MM-dd.logに変更する方法について書く。

laravel-yyyy-MM-dd.logに変更する

config/app.phpを以下のように編集するだけ。

config/app.php
'log' => 'daily',

さらにここから、[任意の文字列]-yyyy-MM-dd.logというファイル名にする方法を以下に書いていく。

[任意の文字列]-yyyy-MM-dd.logに変更する

Laravel5.3まで

ConfigureLogging.php内のメソッドをオーバーライドする。以下の内容でapp/Bootstrap/ConfigureLogging.phpを作成する。

app/Bootstrap/ConfigureLogging.php
<?php

namespace App\Bootstrap;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Foundation\Bootstrap\ConfigureLogging as BaseConfigureLogging;
use Illuminate\Log\Writer;

class ConfigureLogging extends BaseConfigureLogging
{
    protected function configureDailyHandler(Application $app, Writer $log)
    {
        $log->useDailyFiles($app->storagePath() . '/logs/[ここを任意の文字列に変更].log');
    }
}

Laravel5.4

Laravel5.4ではConfigureLoggingが廃止されたので、代わりにLogServiceProviderを使用する。

以下の内容でapp/Providers/LogServiceProvider.phpを作成する。

app/Providers/LogServiceProvider.php
<?php

namespace App\Providers;

use Illuminate\Log\LogServiceProvider as ServiceProvider;
use Illuminate\Log\Writer as Writer;

class LogServiceProvider extends ServiceProvider
{
    protected function configureDailyHandler(Writer $log)
    {
        $log->useDailyFiles(
            $this->app->storagePath().'/logs/[ここを任意の文字列に変更].log',
            $this->maxFiles(),
            $this->logLevel()
        );
    }
}

config/app.php内に以下を追加

config/app.php
'providers' => [

    App\Providers\LogServiceProvider::class,
]

これで[任意の文字列]-yyyy-MM-dd.logというファイル名のログファイルを作成できる。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8