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というファイル名のログファイルを作成できる。